Optical disc, reproducing device, program, reproducing method, recording method

ABSTRACT

An optical disc has recorded therein an AV stream divided into segments. An interleave unit is recorded in front of an ith segment to be played back in an ith place among the segments. The interleave unit includes a library whose live range has a start point that falls during a playback time of the ith segment.

FIELD OF INVENTION

The present invention relates to an optical disc for a digital stream,such as a blu-ray disc read only memory (hereinafter abbreviated as“BD-ROM”). The present invention also relates to a playback apparatus, aprogram, a playback method, and a recording method of such an opticaldisc. The present invention further relates to a technology fordistributing movie works and the like via such an optical disc.

BACKGROUND ART

Relating to distribution of movie works via optical discs, there is atype of business by which a movie work relating to a character isdistributed in a same optical disc in which a game relating to thecharacter is also recorded. Games to be recorded in optical discs aredeveloping from simple ones as in quiz format, to full-fledged ones inwhich three-dimensional computer graphics is incorporated. The followingpatent reference 1 discloses an example of prior art that records a gameprogram which is non-AV data, in the same optical disc prestoring AVdata constituting the substance of a movie work.

<Patent reference 1> Japanese Patent Publication No. 3069324

However in conventional full-fledged games, in which computer graphicsis incorporated, a variety of libraries is required to be pre-loaded tothe memory, for use by an application program for operation, thelibraries including those for rendering computer graphics. A hardwarespecification for consumer products, such as a DVD player, cannotsatisfy such an operation environment, and so users have to play suchgames on other operation environments such as a personal computer. Thismeans that it often becomes necessary to remind users by “recommendedoperation environment: memory size of at least 128 megabytes”, or thelike.

Even when an optical disc includes a full-fledged game, if the operationenvironment required for the game is far different from that for themovie work itself, it is natural for users not to feel inclined topurchase the optical disc. This makes it meaningless to produce games atsuch high development cost, so as to be incorporated in a disc in whichthe movie work is also recorded.

DISCLOSURE OF INVENTION

The object of the present invention, in view of the stated problems, isto provide, in distributing a program to realize a game in the formrecorded in an optical disc, an optical disc whose operation environmentis close to an operation environment of the substance of the movie workas much as possible.

The above-stated object is achieved by

With the above construction, a program to be synchronized with playbackof a segment is disposed in front of the segment in the form of aninterleave unit. According to this structure, it becomes possible toread each segment constituting the digital stream, together with aprogram to be synchronized with the segment, by only a move of the readposition of the optical pickup a little away from the beginning positionof the segment. Accordingly, it is sufficient to read a programnecessary in synchronization from an optical disc, in reading of acorresponding segment. After the synchronization with the segment, theprogram can be deleted from a memory. Therefore it is not necessary tohave the program reside in the memory throughout the entire sections ofthe digital stream playback. If there are a plurality of programs to besynchronized with the digital stream, a resource management becomespossible by which each program is collected from the memory every timethe program execution has been complete. With such a resourcemanagement, the amount of a memory to be mounted to the playbackapparatus is only a size sufficient to be able to perform programloading. As a result, it becomes possible to perform a digital streamplayback as well as synchronized processing of a variety of programstogether therewith.

Here,

With the above construction, ending time information is set for aninterleave unit. Accordingly, it is possible to determine, in theauthoring stage of an optical disc, a resource management thatprescribes at what time the interleave unit is read to a memory, anduntil what time the interleave unit has to be deleted from the memory.If programming is performed according to such resource management, it ispossible to realize game software that requires synchronization with AVplayback of a digital stream, with a minimum amount of memory. Forprogrammers of software companies, realization of an operatingenvironment in which synchronization with AV playback is attractive.Accordingly, the invention can invigorate the movie market and theconsumer goods market, by encouraging more software companies to moveinto the markets.

With the above construction, even when three libraries are disposed inseparate positions on the optical disc, the three libraries are able tobe used at a same time, by adjusting the start-time information of theheader of each library.

With the above construction, it is possible to dispose a copy ofinterleave unit after the position at which a frequent random access isexpected (e.g. a start point of a playback section) If doing so, theapplication program can use a library without a disc seek up to aninterleave unit disposed ahead of a segment. Even when a random accessis more frequent due to playback based on playback path information,smooth reading is realized.

With the above construction, even when playback is performed in thedirection from the future to the past on the playback time axis of thedigital stream, program reading from the optical disc to the memory isenabled without any unnecessary seek. Even in irregular playbackprogressions such as the above-stated reverse playback, program readingto the memory becomes possible, and so a variety of processing thatassumes synchronization with AV playback is realized even in the reverseplayback, for example.

Since each live range is defined with use of identifiers of a dynamicscenario, the playlist information, and so on, it becomes easy to graspinterleave units whose live ranges overlap with each other, and so itbecomes easy to make a plan of reading interleave units with theresource management in mind.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram showing an entire structure of a multidisplayapparatus relating to the first embodiment of the present invention.

FIG. 2 is a diagram showing a structure of a BD-ROM.

FIG. 3 is a diagram representing an application-layer format of aBD-ROM, in a directory structure.

FIG. 4 is a classification diagram showing the classification of filesin a functional point of view.

FIG. 5 is a diagram showing a layer model of a software program that aBD-ROM targets.

FIG. 6 is a diagram schematically showing a structure of an AV stream.

FIG. 7 is a diagram schematically showing how the AV stream is recordedinto the BD-ROM.

FIG. 8 is a diagram showing an internal structure of stream managementinformation.

FIG. 9 is a diagram showing an internal structure of PL information.

FIG. 10 is a diagram schematically showing an indirect reference bymeans of PL information.

FIG. 11 is a diagram showing one example of a different PL from the PLinformation that is shown in FIG. 10.

FIG. 12 is a diagram showing a playback mode in the fourth layer(dynamic scenario) of the layer model.

FIG. 13 is a diagram showing a control software layer model of the Javaplatform that the Java language targets.

FIG. 14 is a diagram showing an AV stream that is to be a target of liverange setting.

FIG. 15A is a diagram showing how segments are recorded into a BD-ROM.

FIG. 15B shows a read path by way of an optical pickup, when the segmenti and the segment i+1 are successively read.

FIG. 16 is a diagram showing a moving path of an optical pickup when arandom access is performed to the segment i+1.

FIG. 17 is a diagram showing how 1) reading of a library to the memory,and 2) loading of the library to the work area of the Java virtualmachine, are performed at each time points (t1, t2, t3, and t4) on theplayback time axis of the AV stream.

FIG. 18 is a diagram showing a structure of an interleave unit.

FIG. 19 is a diagram showing improvement for ACCESS UNIT entry in aTMAP.

FIG. 20 is a diagram showing a state transition of a track buffer when asegment constituting the AV stream is read out.

FIG. 21 is a diagram showing a game program constituted by an overlaidimage made of: a moving image from a movie work as the background; andcomputer graphics as the foreground.

FIG. 22A is a diagram showing live ranges for libraries #1, #2, #3, and#4, respectively.

FIG. 22B is a diagram showing a relation between IN-points of liveranges of libraries and segments.

FIG. 23 is a diagram showing in what manner each segment is recorded inthe BD-ROM.

FIG. 24 is a diagram showing an internal structure of an interleaveunit.

FIG. 25 is a diagram showing an internal structure of a playbackapparatus according to the present invention.

FIG. 26 is a flowchart showing an executing procedure of a playbackcontrol engine 12.

FIG. 27 is a diagram in which, from among the constituting elements ofFIG. 25, library-related elements are extracted and drawn.

FIG. 28 is a diagram showing where display data is positioned in thelayer model that the Java language targets.

FIG. 29 is a diagram showing a structure of an interleave unit storingtherein display data.

FIG. 30 shows a path via which display data in the playback apparatus isdisplayed.

FIG. 31 is a diagram showing where in a segment a copy of an interleaveunit should be incorporated.

FIG. 32 is a diagram showing how program reading is performed whenrandom access is performed to a midway position of a segment i.

FIG. 33 is a diagram showing a relation between four libraries #1, #2,#3, and #4 (of FIGS. 22A and 22B) and segments.

FIG. 34A is a diagram showing placement of interleave unit, segment, andcopy of interleave unit.

FIG. 34B is to which the i+1th segment is added to FIG. 34A.

FIG. 35 is a diagram showing how reverse playback is performed whenthere is no copy of interleave unit.

FIG. 36 is a diagram showing seek operations for a BD-ROM in which acopy of interleave unit is incorporated.

FIG. 37 is a diagram showing a relation between four libraries #1, #2,#3, and #4 shown in FIG. 22 and segments.

FIG. 38 is a flowchart showing a processing procedure performed by theplayback control engine 12, when a user has instructed a reverseplayback operation.

FIG. 39 is a diagram showing a structure of a file structure of a BD-ROMaccording to the fifth embodiment.

FIG. 40 is a diagram showing a common structure shared by PLMark andClipMark.

FIGS. 41A and 41B are diagrams showing description examples of PLMark,in defining TimeEvent appearing during playback of a playlist #1.

FIG. 42 is a diagram showing a description example of PLMark in definingUserEvent during playback of the playlist #1.

FIG. 43 is a diagram showing a placement example of interleave unit,when ClipMark and PL define TimeEvent and UserEvent.

FIG. 44 is a diagram showing a processing procedure performed by theplayback control engine 12.

FIG. 45 is a diagram showing how indirect reference is performed toinformation relating to interleave unit.

FIG. 46 is a diagram showing the relation between interleave-unitgeneral information and three interleave units incorporated in the AVstream.

FIG. 47 is a diagram showing how live ranges are represented in theinterleave units according to the seventh embodiment.

FIG. 48 is a diagram schematically showing a hierarchical organizationof either a program or display data by locator description.

FIG. 49 is a diagram showing an internal structure of a playbackapparatus according to the ninth embodiment.

FIG. 50 is a flowchart showing the manufacturing method of the BD-ROM ofthe eleventh embodiment.

FIG. 51 is a diagram showing an interleave unit storing a plurality ofpieces of display data.

BEST MODE FOR CARRYING OUT THE INVENTION First Embodiment

The following describes an embodiment of an optical disc relating to thepresent invention. First of all, among the embodiments of the opticaldisc relating to the present invention, an embodiment relating to use ofthe optical disc is described. FIG. 1 is a diagram showing how theoptical disc of the present invention is used. In FIG. 1, the opticaldisc relating to the present invention is a BD-ROM 100. This BD-ROM 100is used to supply a movie work to a home theater system comprised of aplayback apparatus 200, a television 300, and a remote controller 400.

Next, the production of the optical disc, among the embodiments of theoptical disc, is described. The optical disc relating to the presentinvention is executable by improvement directed to the application layerof the BD-ROM.

FIG. 2 is a diagram showing a structure of the BD-ROM. The BD-ROM isshown in the fourth level of this diagram, and a track on this BD-ROM isshown in the third level. In this drawing, a spiral track, formed fromthe inner side of the BD-ROM towards the outer side thereof, is extendedin the horizontal direction. This track is comprised of a lead-in area,a volume area, and a lead-out area. The volume area in this drawing haslayer models: a physical layer, a file system layer, and an applicationlayer. The optical disc of the present invention is industriallymanufactured, by forming the data format as shown in FIG. 2 on theapplication layer of the BD-ROM.

FIG. 3 is a diagram representing an application-layer format(application) of the BD-ROM, in a directory structure. As shown in thisdrawing, the BD-ROM has a BD-AV directory under a ROOT directory, andunder the BD-AV directory, there are a JCLASS directory, and a BROWSERdirectory. Under the BDAV directory, files such as INFO.BD, XXX.M2TS,XXX.CLPI, YYY.PL, and ZZZ.MOVIE exist. Under the JCLASS directory, afile called ZZZ.CLASS exists, and under the BROWSER directory, a filecalled ZZZ.HTM exists.

FIG. 4 is a classification diagram showing the classification of thesefiles in a functional point of view. In this drawing, the layerstructure, which is represented by the first, second, third, and fourthlayers, symbolically represents the diagram's classification. In thisdrawing, “XXX.M2TS” is classified into the second layer. “XXX.CLPI” and“YYY.PL” are classified into the third layer (static scenario).“ZZZ.MOVIE” under the BDAV directory, “ZZZ.CLASS” under the JCLASSdirectory, and “ZZZ.HTM” under the BROWSER directory are classified intothe fourth layer.

The classification in this drawing (i.e. the first to the fourth layers)targets a layer model shown in FIG. 5. The following explains the layermodel for a control software program, which is the target of the BD-ROM,by referring to FIG. 5.

In FIG. 5, the first layer is a physical layer for controlling supply tothe substance of a process-target stream. As shown by the first layer,the supply source of the process-target stream is not limited to aBD-ROM, and includes varieties of recording/communication media, such asHD, a memory card, and a network. The control performed by the firstlayer is directed to these supply sources (i.e. HD, memory card,network, etc.), and is specifically disc access, card access, andnetwork communication.

The second layer is a layer for decryption method. The second layerdefines in which decryption method the stream supplied by way of thefirst layer should be decrypted. The decryption method adopted by thepresent embodiment is a decryption method in MPEG2 standard.

The third layer (static scenario) defines a static scenario of a stream.A static scenario is comprised of playback path information and streammanagement information, which are predetermined by the manufacturer ofthe disc and the third layer (static scenario) defines the playbackcontrol based thereupon.

The fourth layer is for realizing a dynamic scenario in a stream. Thedynamic scenario is for changing the playback progress according to auser operation and a state of an apparatus, and the fourth layer definesthe playback control based thereupon. As follows, the substance of thestream (i.e. the files constituting the static scenario) is explainedaccording to this layer model.

First, the stream belonging to the second layer (XXX.M2TS) is explained.

The AV stream (XXX.M2TS) is a digital stream in MPEG-TS (Transportstream) format, and is generated by multiplexing: a video stream; atleast one audio stream; and at least one sub-picture stream. The videostream represents a moving picture portion of a movie work, the audiostream represents a sound portion of the movie work, and the sub-picturestream represents sub-titles of the movie work. FIG. 6 is a diagramschematically showing the structure of the AV stream.

The AV stream (fourth level) is generated as follows. A video streammade of video frames (picture pj1, 2, and 3), and an audio stream madeof audio frames (first level) are converted into a PES packet sequence(second level), which is then converted into a TS packet sequence (thirdlevel). Likewise, a sub-picture stream (seventh level) is converted intoa PES packet sequence (sixth level), which is then converted into a TSpacket sequence (fifth level). The TS packet sequence (third level) andthe TS packet sequence (fifth level) are then multiplexed, therebycompleting the AV stream (fourth level). This multiplexing is actuallyto arrange video TS packets and audio TS packets so that a video TSpacket and an audio TS packet to be read synchronously from the BD-ROMare positioned near to each other.

The AV stream generated by going through the aforementioned process isdivided into a plurality of segments, just like a normal computer file,and is stored in an area of a BD-ROM. FIG. 7 is a diagram schematicallyshowing how the AV stream is recorded into a BD-ROM.

The length and address in the BD-ROM, for a segment constituting the AVstream is described in file management information “fk1”.

In FIG. 7, in the file management information “fk1”, three segmentsobtained by dividing the AV stream are stored by being corresponded withthe addresses (adr1, 2, 3) and the lengths (length1, 2, 3),respectively. The AV stream is comprised of one or more ACCESS UNITs,and is accessible in a unit of the ACCESSUNITs. The ACCESSUNIT is aminimum unit used in decoding, and includes one GOP (group of picture)and an audio frame to be synchronously read with the GOP. A GOPincludes: a bidirectionally predictive (B) picture, a predictive (P)picture, and an intra (I) picture. The B picture is compressed usingcorrelation with the image to be played back either before or after thepicture. The P picture is compressed using correlation with the image tobe played back before the picture. And the i picture is compressed usingthe spatial frequency response for one frame of image, without usingcorrelations with other pictures.

Note that the file body “XXX” used in the file name “XXX.M2TS”represents an identification number in three digits assigned to an AVstream in a BD-ROM. In other words, the AV stream in this drawing isuniquely identified by this “XXX”. (Note that the three digits is onlyan example, and the identification number may be in any number ofdigits.)

<Static Scenario>

Next, “XXX.CLPI” and “YYY.PL”, each being a static scenario file, areexplained.

The stream management information (XXX.CLPI) is management informationon each AV stream. FIG. 8 is a diagram showing the internal structure ofthe stream management information. An AV stream is generated bymultiplexing a video stream and an audio stream, and is randomlyaccessed by the unit called “ACCESS UNIT”. Therefore, the managementitems included in the stream management information are attribute ofeach of the video stream and audio stream, and where each random-accesspoint exists in the AV stream. The leader line in the drawing is forfocusing on the structure of the stream management information. As shownby the leader line “hn1”, the stream management information (XXX.CLPI)is comprised of “attribute information” for each of the video stream andaudio stream, and “TMAP” made of a reference table used in performingrandom access to the ACCESS UNITs.

As the leader line “hn2” shows, the attribute information (Attribute) iscomprised of attribute information (video attribute information) and thenumber (Number) of attribute information, which relate to the videostream, and sets of attribute information (Audio attribute information#1-#m) for each audio streams multiplexed onto the AV stream. As theleader line “hn3” shows, the management information relating to thevideo stream indicates in which coding method the video stream has beencoded (Coding), and resolution (Resolution), aspect ratio (Aspect), anda frame rate (Framerate) for each piece of picture data constituting thevideo stream.

On the other hand, as the leader line “hn4” shows, the attributeinformation for the audio stream (Audio attribute information #1-#m)indicates a coding method (Coding), channel number (Ch.) and language(Lang) for each audio streams.

The time map (TMAP) is a reference table used in indirect reference to aplurality of random-accessible addresses, using time information. As theleader line “hn5” shows, the time map is comprised of a plurality ofpieces of entry information (ACCESS UNIT#1 entry information, ACCESSUNIT#2 entry information, ACCESS UNIT#3 entry information . . . ), andnumber of pieces of entry information (Number). Each piece of entryinformation is comprised of a playback duration (Duration) and a datasize (Size) of a particular ACCESS UNIT. Adoption of a variable-lengthcoding compression method enables random access from an arbitraryplayback time to picture data within the ACCESS UNIT that corresponds tothe playback time with use of this entry information, even when theACCESS UNITs differ from each other in size or playback duration. Notehere that the file body of the file name “XXX.CLPI” has the same name asadopted for the AV stream whose stream management information matches.In this drawing, for example, the file body of the AV stream is “XXX”,and so the stream management information “XXX.CLPI” corresponds to theAV stream (XXX.M2TS). Next, playlist information is explained.

“YYY.PL” (Playlist information, hereinafter often abbreviated as PLinformation) is a table constituting a playlist (being a playback path),and is comprised of a CellList. FIG. 9 is a diagram showing an internalstructure of the PL information.

The CellList is comprised of a plurality of pieces of CELL information(CELL information #1, #2, #3, . . . #n), and the number of the pieces ofCELL information (Number). The CELL information is pointer informationand is used to define at least one logical playback section thatconstitutes the playlist. The leader line “hs1” focuses on the structureof CELL information. As this leader line shows, the CELL information iscomprised of “Stream Name” representing the name of the AV stream towhich the In-point (start point) and Out-point (ending point) of aplayback section belong, “In-point information” being information on theIn-point of the playback section, and “Out-point information” beinginformation on the Out-point of the playback section.

The CELL information is characterized by its notation. By CELLinformation, the playback sections are defined in a form of indirectreference using the time map as a reference table. FIG. 10 is a diagramschematically showing this indirect reference by means of PLinformation. In this drawing, the AV stream is comprised of a pluralityof ACCESS UNITs. The TMAP within the stream management informationindicates the sector addresses of the ACCESS UNITs, as shown by thearrows ay1, 2, 3, and 4. The arrows jy1, 2, 3, and 4, in this drawing,schematically show the reference to the ACCESS UNITS by means of CELLinformation. That is, the reference performed by means of the CELLinformation (i.e. the arrows Jy1, 2, 3, and 4) is interpreted as anindirect reference, by which the addresses of the ACCESS UNITs withinthe AV stream are identified via the TMAP.

A playback section on a BD-ROM, which is represented by a set comprisedof “CELL information-Stream management information-AV stream”, is called“Cell”. A logical playback unit on a BD-ROM, being a set comprised of“PL information-stream management information-AV stream”, is called“PL”. A movie work recorded on a BD-ROM is constituted by a collectionof logical playback units (PL). Therefore, if a PL that specifies onlyscenes in which a certain character appears can be defined, it becomespossible to easily produce a movie work made of only such scenes, asidefrom the substance of the movie work itself. FIG. 11 is a diagramshowing one example of defining a different PL (PL information #2) fromthe PL information (PL information #1) that is shown in FIG. 10.

Only by defining a variety of PL information, it becomes possible toincrease a number of movie works, and to broaden movie producers'expressions. This is the largest advantage of the static scenario.

A BD-ROM has another playback unit called “Chapter”, in addition to“PL”, “CELL” and the like. A chapter is made of one or more CELLs.

Note that the file body “YYY” used in the file name of PL informationrepresents an identification number in three digits assigned to PLinformation for a BD-ROM. In other words, the PL information in thisdrawing is uniquely identified by this identification number “YYY”. Thereason why the identification number of PL information is expressed as“YYY” is to indicate that this identification number system is differentfrom the identification number system “XXX” assigned to AV stream and AVstream management information. (Note that the three digits is only anexample, and the identification number may be in any number of digits.)

Next, the following describes a dynamic scenario.

<Dynamic Scenario>

The following describes “ZZZ.MOVIE”, “ZZZ.HTM”, and “ZZZ.CLASS”, eachbeing a dynamic scenario. A dynamic scenario indicates a playbackcontrol procedure for an AV stream. The playback control procedure ischanged according to a user operation directed to an apparatus, and hasa program-like characteristic. There are two modes of dynamic playbackcontrol. The one mode is called “normal mode” in which moving image datain a BD-ROM is played back in a playback environment unique to an AVapparatus. The other mode is called “enhanced mode” by which theadditional value of moving image data in a BD-ROM is enhanced. FIG. 12is a diagram showing a playback mode in the fourth layer of the layermodel. In the fourth layer of this drawing, one normal mode and twoenhanced modes are described. One normal mode is a playback mode in aplayback environment that is DVD-like, and is called “MOVIE mode”. Oneof the two enhanced modes is a playback mode whose substance is a Javavirtual machine, and so is called “Java mode”. The other one of the twoenhanced modes is a playback mode whose substance is a browser, and iscalled “Browser mode”.

Note that the file body “ZZZ” used in the file names “ZZZ.MOVIE”,“ZZZ.CLASS”, and “ZZZ.HTM” represents an identification number in threedigits assigned to a dynamic scenario. In other words, the scenario inthis drawing is uniquely identified by this identification number ZZZ.The reason why the identification number of the scenario is expressed as“ZZZ” is to indicate that this identification number system is differentfrom the identification number system “XXX” assigned to an AV stream,and from the identification number system “YYY” assigned to PLinformation. (Note that the three digits is only an example, and theidentification number may be in any number of digits.)

The following describes dynamic scenarios for the modes in greaterdetail.

“ZZZ.MOVIE” is a dynamic scenario directed to a MOVIE mode. Using thisdynamic scenario, a playback control very similar to that of an existingDVD playback apparatus is enabled on a playback apparatus.

“ZZZ.HTM” is a dynamic scenario directed to a Browser mode. Using thisdynamic scenario, it becomes possible to describe a control proceduresuch as accessing a site on a network, and downloading a file.

“ZZZ.CLASS” is a dynamic scenario directed to a Java mode, and is anapplication program in Java language. Being an application program inJava language, this dynamic scenario's substance is a Java platform. Thefollowing details the relation between the Java mode's application andthe Java platform with reference to FIG. 13. FIG. 13 is a diagramshowing the layer model of the Java platform that the Java languagetargets. The application in Java mode is positioned at the highest-orderlayer of the layer model. Directly under this Java mode application, API(Application Interface) is positioned. Under the API, the Java platformis positioned. A native drawing system is an image drawing function thata playback apparatus is naturally equipped with, and is positioned atthe same layer as the Java platform.

The Java platform is comprised of “Java virtual machine (JavaVM)”,“configuration”, “profile”, and “option”.

The Java virtual machine converts the Java mode application, having beendescribed in Java language, into a native code for CPU of the playbackapparatus, and makes the CPU execute the native code. The configurationrealizes simple input/output at the playback apparatus, and the profileperforms IP communication, screen drawing, and the like at the playbackapparatus.

The option includes a variety of libraries. These libraries are used tosupply a variety of functions, which cannot be supplied from the Javaplatform, to the application in Java mode. More specifically, theselibraries define processing for ensuring security of the playbackapparatus, and input/output between BD-ROM and Java application.

The Java virtual machine, the configuration, the profile, and the nativedrawing system are to be implemented in the playback apparatus inadvance. In addition, the control software programs of the first tothird layers shown in FIG. 12 are also to be implemented in the playbackapparatus in advance. However the option should be read from a BD,because there are varieties of options that the Java mode applicationwill require, and it is impossible to implement all these options in theplayback apparatus in advance.

The interleave unit “ILUsss.CLASS” is an interleave-recorded file, andstores therein programs, libraries, and the like. A program in theILUsss. CLASS is a byte code sequence in which processing unique to anapplication is described, and functions as the substance of theapplication. A library in the ILUsss.CLASS is a program that is treatedas a component, and is a byte code sequence usable by a variety ofapplications.

The following details such a library. The library in the presentembodiment has a live range on a playback time axis of an AV stream(PL). Here, what is meant by a live range is a duration on a playbacktime axis of an AV stream (PL), during which an application is allowedto use the particular library.

Specifically, an application uses a library by having the Java virtualmachine to execute a function included in the library according to acall made by the application directed to the function. There is animportant condition to be satisfied for library execution by the Javavirtual machine. The condition is to load the library in the work area(heap area) inside the Java virtual machine. In light of this, beforelibrary use, it becomes necessary to issue an instruction for loadingthe library from the cache memory of the playback apparatus to the workarea of the Java virtual machine. Here, if the file has been read fromthe BD-ROM to the cache memory of the playback apparatus in advance, thementioned loading instruction will be normally ended. On the other hand,if the library has not been read to the cache memory of the playbackapparatus, the loading instruction will be exceptionally ended (errorending). If the normal ending is hoped, it is desirable to read thelibrary file to the cache memory of the playback apparatus. By doing so,it becomes possible to load the library from the memory of the playbackapparatus to the work area of the Java virtual machine, at any time.

Here, defining of a live range of the library is considered as identicalto reading of the library to the cache memory of the playback apparatus.However, in a hardware specification of consumer appliances such as aBD-ROM playback apparatus, a memory therein is small. Therefore if thereare many libraries to be used, it becomes necessary to restrain a liverange for each library to be of a minimum length.

The following describes how to define a live range.

FIG. 14 is a diagram showing an AV stream that is to be a target of liverange setting. In programming a game application that is to besynchronously played back with the AV stream, it is preferable todefine, as a live range, a duration in which frequent use of library bythe application program is expected, for a reason such that a particularimage continually appears. This is because then it becomes possible toexecute a variety of libraries synchronously with playback of the AVstream. For example, the AV stream shown in FIG. 14 is originally meantto constitute a movie work, and includes scenes for example ofconversation between appearing characters and of street scenes. Amongthem, such a kind of scenes as street scenes has extremely highprobability of being used for a background when the game applicationrenders computer graphics. If such a duration on the AV stream isdefined as a live range of a library, so that the library is ready to beread to a memory of the playback apparatus during this live range, thenthe library is assured to be loaded to the work area when theapplication program issues the loading instruction. In light the above,for defining live ranges, it becomes necessary to understand at whichtime on the playback time axis of the AV stream, scenes are required tobe synchronized with libraries (e.g. background of an applicationprogram), in the pre-authoring stage. Also an important thing toremember in the decision of a live range for each library is to avoidoverlapping of live ranges between the libraries.

Next, interleave recording, which is a recording embodiment of alibrary, is explained. Interleave recording is to record objects to berecorded in a BD-ROM, between segments constituting an AV stream. In theexample of FIG. 7, interleave recording is to record objects topositions each corresponding to “other file”. Each object subjected tothis interleave recording is referred to as “interleave unit”. Thefollowing describes how a library is recorded, when the library is theobject to be subjected to interleave recording. When a library is aninterleave unit, it is recorded immediately ahead of a segment thatincludes IN-point of the live range of the library. FIG. 15A is adiagram showing how the segments are recorded into a BD-ROM. Here, an AVstream is divided into a plurality of segments. If the segment i+1includes the IN-point of the live range of a certain library #x, thenthe interleave unit including the library #x is recorded immediatelyahead of the segment i+1. As above, an interleave unit has acharacteristic of being recorded immediately ahead of the segmentincluding the In-point of the corresponding live range.

The interleave unit #x and the segment i are recorded as shown in FIG.15A. Therefore reading of the segment is performed as shown in FIG. 15B.FIG. 15B shows a read path by way of an optical pickup, when the segmenti and the segment i+1 are successively read. Originally, so as to readthe segment i+1 after the segment i has been read, a pickup has toperform a seek as shown by a broken-line arrow “sf1”. However aninterleave unit exists ahead of the segment i+1. The interleave unitincludes a library having a live range during the playback duration ofthe segment i+1. “sf2” is an optical-pickup reading position when thereis a preceding interleave unit #x. “sf3” indicates a disc scan by way ofan optical pickup. As a result of this disc scan “sf3”, the interleaveunit #x and the segment i+1 will be read in succession after the segmenti has been read, without seek.

FIG. 15B shows the case where successive reading is performed for thesegments constituting one AV stream. Next, how an optical pickup readingis performed when a random access is performed to the segment includingthe live range of a library, with reference to FIG. 16.

FIG. 16 is a diagram showing a moving path of an optical pickup when arandom access is performed to the segment i+1. In moving the opticalpickup to the random-access position “aP1” in the drawing, it is judgedwhether there is an interleave unit preceding the segment i+1. (2)indicates an optical-pickup reading position when there is a precedinginterleave unit, and (3) indicates a disc scan performed by the opticalpickup. When there is an interleave unit preceding the segment, anoptical-pickup scan is performed from the beginning of the interleaveunit to the segment, so that the playback apparatus can read theinterleave unit and the segment. By moving the optical pickup in thisway, one scan (3) by the optical pickup is sufficient for reading theACCESS UNITs required for a moving picture playback, and the libraryrelated therewith, at the same time.

Since a library is stored in a form of interleave unit, the library isread to a memory at a time when the current playback time point reachesthe corresponding live range. Therefore, if an application programissues a loading instruction during the live range, the loading from thememory of the playback apparatus to the work area of the Java virtualmachine is assuredly performed. FIG. 17 is a diagram showing how 1)reading of a library to the memory, and 2) loading of the library to thework area of the Java virtual machine, are performed at each time points(t1, t2, t3, and t4) on the playback time axis of the AV stream.

The time point t1 is positioned outside the live range of the library.Therefore the library has not been read to the cache memory, and soloading of the library is impossible even if the application programissues a loading instruction as shown by the arrow “py1”. Accordingly,the loading will be exceptionally ended as shown by the arrow “py2”.

The time point “t2” corresponds to IN-point of the live range of thelibrary. Since the current playback time point has reached the IN-pointof the live range, the library will be read to the memory as the arrow“py3” indicates.

The time point “t31” is within the live range of the library, andcorresponds to a time point at which the application program has issueda loading instruction. Since the memory stores therein the library, thelibrary can be loaded to the work area of the Java virtual machineaccording to the loading instruction issued by the application program(arrow “py6”). By the above construction, the application program canfreely call the function from the library.

The time point “t4” is within the library's live range. Since thecurrent playback time point has reached OUT-point of the live range, thelibrary will be deleted from the memory as the arrow “py7” indicates.Therefore even if the application program issues a loading instructionhereafter, the loading instruction will be exceptionally ended just asthe at the time point “t0”.

Next, the internal structure of an interleave unit is described.

FIG. 18 is a diagram showing the structure of an interleave unit. Asshown in this drawing, an interleave unit is comprised of a header and asubstance portion. In the present embodiment, the substance portioncorresponds to a library.

The header includes: “locator” indicating where in the memory thelibrary (substance portion) exists; “live-range IN-point information”indicating a time point that corresponds to IN-point of the live rangeof the library; and “live-range OUT-point information” indicating a timepoint that corresponds to OUT-point of the live range of the library.The locator is provided so as to identify a library within the memory ofthe playback apparatus. The library is assigned a header in whichinformation relating to the live range is described, and is recorded ina form of an interleave unit, to a BD-ROM.

The following describes the technical meaning of providing such alocator. Suppose it is wished that a library included in an interleaveunit be treated as a file “J001.CLASS” under the Java directory. In thiscase, the locater is described as “CM://Java/J001.CLASS”, where “CM://”indicates that the interleave unit is stored in a cache memory in theplayback apparatus. On the contrary, if the interleave unit is stored ina hard disc the locator should be described as “HD://”.“Java/J001.CLASS” indicates a file path of the storage place of theinterleave unit. The playback apparatus, when reading the interleaveunit, creates/opens the Java directory and the file “J001.CLASS” on thecache memory, and stores the library included in the interleave unit, tothe file “J001.CLASS” under the Java directory. By doing so, theapplication program is able to indicate the library on the cache memoryusing the file path “Java/J001.CLASS”, when ordering the librarytransfer from the cache memory to the work area of the Java virtualmachine.

The following describes the technical meaning of providing “live-rangeIN-point information” in a header of an interleave unit. The start pointof a live range included in an interleave unit is principally a timepoint of the playback time axis of the AV stream, at which thecorresponding library exists on a memory. However the live-rangeIN-point information of a header can describe another point differentfrom the above-mentioned time point. This is for taking intoconsideration the following case. In some method of programming in Javalanguage, use of libraries is not allowed for an application program, ifonly one of the three libraries is in the memory. Use of libraries isallowed for an application program only when all the three libraries areready in the memory. However in the case where the three libraries arestored in separate places on a BD-ROM as three interleave units, thethree libraries are read to the memory at a different time from eachother. In such a case, it becomes necessary to prohibit an applicationprogram from library use if one or two libraries are on the memory.Therefore live-range IN-point information in each interleave unit'sheader is set to a time point at which the three libraries are ready inthe memory.

By the above arrangement, even when one or two of the three librarieshave been ready on the memory, the libraries are not ready for use. Thelibraries are only ready for use when the third library is ready on thememory. By providing such live-range IN-point information in each headerof libraries, it becomes possible to synchronize the time at which allthe three libraries are ready for use, even when the libraries aredispersed in the BD-ROM.

Next, the following describes the technical meaning of providing“live-range OUT-information”. As described above, the hardwarespecification of a BD-ROM playback apparatus is limited in memory size.Therefore if various libraries are attempted to be stored in the cachememory, overwriting library on library occurs, which then leads to apossibility of hang-up. To prevent such, it becomes necessary topromptly delete, from the cache memory, libraries whose live range hasbecome obsolete. “Live-range OUT-point information” is described in aheader of each live range so as to facilitate such deletion.

Next, the notation of live-range IN-point information and live-rangeOUT-point information is described. Here, the playback time axis of anAV stream is a time axis that functions as a reference for decidingplayback timing of each video/audio frames, and decoding timing of eachvideo frames, where the video frames and the audio frames respectivelycompose a video stream and an audio stream, which are multiplexed intothe AV stream. A position on such a playback time axis is expressed as avalue relative to time information of the first video frame within theAV stream. Since playback timing and decoding timing are defined on theplayback time axis, synchronous playback of the audio frames and thevideo frames is enabled. Here, note that IN-point/OUT-point of a liverange are also respectively considered as a point on a playback timeaxis. Therefore a live range is also expressed as a value relative totime information of the first video frame within the corresponding videostream. Accordingly, the above-described live-range IN-point informationand live-range OUT-point information respectively indicate IN-point andOUT-point of a live range, using a value relative to the timeinformation of the first video frame of the video stream.

So as to perform random access to an ACCESS UNIT, the followingimprovement is necessary for reading ACCESS UNIT—interleave unit, atonce. Among the segments, as for an ACCESS UNIT that is immediatelyafter an interleave unit, the entry of the ACCESS UNIT in the TMAPshould be modified as shown in FIG. 19. FIG. 19 is a diagram showing theimprovement for the ACCESS UNIT entry in the TMAP. In this drawing, theACCESS UNIT entries relate to ACCESS UNITs respectively immediatelyafter an interleave unit. What is characteristic in this drawing is thatthe entries for the ACCESS UNITs#1, #20, #30, being positioned at thebeginning of segments, respectively store the file bodies (ILU001,ILU002, ILU003) of the file names of interleave units. These interleaveunits respectively precede a corresponding segment. By storing the filenames of such interleave units in the ACCESS UNIT entries, it becomespossible to efficiently perform processing for reading the ACCESS UNITsat the beginning of the segments and the interleave units, all together.

Note that “sss” in the “ILUsss.CLASS” represents three-digitidentification number assigned to an interleave unit in a BD-ROM. Thatis, the interleave units in this drawing are uniquely identified using“sss”. The reason why the identification number of an interleave unit isexpressed as “sss” is to indicate that this identification number systemis different from the identification number system “XXX” assigned to anAV stream and AV stream management information, and from theidentification number system “YYY” assigned to playlist information, andfurther from the identification number system “ZZZ” assigned to adynamic scenario. (Note that the three digits is only an example, andthe identification number may be in any number of digits.)

Next, the continuous length of each segment is described. In dividing anAV stream, care should be taken to prevent underflow of a buffer fromwhich a segment is read (the buffer being called “track buffer”), inrecording of the AV stream. The upper level of FIG. 20 shows one of thesegments constituting an AV stream. The segment occupies an area of aBD-ROM from the position “a1” to the position “a2”. The graph at thelower level of FIG. 20 shows a state transition of a track buffer whenthis segment is read out. In this graph, the horizontal axis representsa time axis, and the vertical axis represents an accumulated amount inthe track buffer. The state transition shown by this graph is made up ofa simple increase portion (increase rate of Va−Vb) and a simple decreaseportion (decrease rate of −Vb). The simple increase corresponds to atime period from the time point “t1” to the time point “t2”, and thesimple decrease corresponds to a time period from the time point “t2” tothe time point “t3”. Here, the time point “t1” corresponds to the readtime point “a1”, and the time point “t2” corresponds to the read timepoint “a2”. The time point “t3” corresponds to the read time point “a3”.Va represents a speed of inputting to the track buffer, and Vbrepresents a speed of outputting from the track buffer. At the timepoint “t2”, the accumulated amount “B(t2)” of the track buffer isexpressed as follows:B(t2)=(Va−Vb)*(t2−t1)  (expression 1)

When the track buffer to which the segment is to be read changes instate as shown above, the increase amount “B(t2)” from “t1” to “t2”should exceed the decrease amount “Vb(t3−t2)” from “t2” to “t3” asindicated by the following expression 2, so as to avoid underflow. Ifthe continuous length of the segment is decided so that the expression 2is satisfied, the track buffer underflow will not occur.B(t2)≧Vb*(t3−t2)  (expression 2)

Next, programs stored in “ILUsss.CLASS” are explained. The differencebetween the programs stored in “ILUsss.CLASS” and the applications of“ZZZ.CLASS” is that “ZZZ.CLASS” is limited to processing of describingplayback control directed to a dynamic scenario, and so does not havelive ranges. Whereas the applications of “ILUsss.CLASS” are not limitedto playback control directed to a dynamic scenario, and are able todescribe varieties of control such as game/client processing, and sohave live ranges. (Needless to say, a program in “ILUsss.CLASS” may havea code for playback control.) A live range of a program in“ILUsss.CLASS” is a section that other applications (including anapplication stored in “ZZZ.CLASS”) can call. Therefore “ILUsss.CLASS”storing the program is recorded ahead of the IN-point of thecorresponding live range by interleave-recording. By doing so, theprogram in “ILUsss.CLASS” will be read to a memory 14 and thentransferred to the work area of the Java virtual machine, before beingcalled by the application of “ZZZ.CLASS”.

The mentioned interleave recording has a prior technology, called“multiplexing”. Compared to multiplexing to an AV stream, interleaverecording shown by the present embodiment has the following advantages.In multiplexing, a library is embedded to the AV stream together with avideo stream and an audio stream, and so it becomes necessary toallocate the band for a library, being non-AV data, in advance. In otherwords, so as to read a library together with video/audio streams, it isnecessary to restrain the band originally for the video stream, so as toallocate a band for reading the library. In the case of a movie work,this narrows the band for the image/sound, which degrades the quality ofeither the image or the sound. So as to allocate an optimal band forlibraries in an attempt to prevent the image/sound bands from beingnarrowed, it then is necessary to multiplex the AV stream for eachcountry's language. This is a very troublesome work for a movie workproduction.

As opposed to this, when libraries are stored in a BD-ROM usinginterleave recording, the libraries are recorded as independent files.Therefore even if the interleave units are placed between the segments,the interleave units are considered as a continuous file. Accordingly,the multiplexing process for an AV stream generation is another processfrom that for the library creation, which reduces the load in theauthoring stage.

The following describes a setting example of interleave unit, withreference to FIGS. 21-24. This setting example assumes creation of agame program as shown in FIG. 21. The game program of FIG. 21 is anoverlaid image made of: a moving image from a movie work as thebackground; and computer graphics as the foreground. The computergraphics being the foreground is an airplane, whose attitude anddirection is controllable according to a user operation.

On the other hand, the moving image being the background is an image ofa city photographed from up in the sky. Since the overlaid imagetherebetween is displayed to a user, the user is able to experience arealistic flight simulation. From a software control point of view, theapplication in Java mode should render computer graphics insynchronization with playback of the AV stream.

The example explained here assumes to have four libraries (#1, #2, #3,#4) having live ranges as shown in FIG. 22A. These libraries arespecifically: a rendering library for creating a projection image of theshape data of the airplane; a texture mapping library for attaching, tothe projection image, a texture pattern representing the appearancepattern of the airplane; a shading processing library for providing theprojection image with shade/shadow. FIG. 22A is a diagram showing thelive ranges respectively for the libraries #1, #2, #3, and #4. Thevertical axis of this drawing corresponds to a playback time axis of anAV stream, along which the live ranges for the libraries are drawn. Thelive range of the library #1 has the earliest IN-point among all thelibraries #1, #2, #3, and #4. Thereafter, the IN-points of the liveranges for the libraries #2, #3, and #4 follow. As for the OUT points,the OUT-point of the live range of the interleave unit #1 is theearliest, and then the OUT-points of the interleave units #2, #3, and #4follow.

The AV stream constituting a moving image is divided into four segments(i.e. Segment 1/4, Segment 2/4, Segment 3/4, Segment 4/4), and stored ina BD. Each boundary between segments in an AV stream corresponds to anIN-point of a live range of a library. FIG. 22B is a diagram showing therelation between the IN-points of the live ranges of libraries andsegments. The boundaries between segments (shown by broken lines) areset a little ahead of the IN-points of the live ranges of thecorresponding libraries #1, #2, #3, and #4. In other words, an AV streamis divided by IN-points of live ranges of libraries.

FIG. 23 shows in what manner each segment is recorded in the BD. Here,interleave units are recorded as follows: the interleave unit #1 ispositioned ahead of the segment 1/4; the interleave unit #2 ispositioned between the segment 1/4 and the segment 2/4; and theinterleave unit #3 is positioned between the segment 2/4 and the segment3/4. FIG. 24 is a diagram showing the internal structure of theinterleave units. Each interleave unit is made of a header and alibrary, the library being a substance portion (i.e. libraries #1, #2,#3, #4), and the header indicating the IN-point and the OUT-point of thelive range of a corresponding one of the libraries #1, #2, #3, and #4.

By recording the interleave units and the segments as shown in FIG. 23,each library is read onto a memory immediately ahead of the live rangeof the library. In addition, since the header of each interleave unitshows the OUT-point of the live range, a library in the memory will bedeleted when the playback time point of the AV stream reaches theOUT-point of the library's live range. With such control being realized,sufficient memory resource for a playback apparatus will be reduced. Theplayback apparatus requires its maximum memory resource during theperiod where two live ranges overlap, in such a case the playbackapparatus only has to have the amount sufficient for allowingcorresponding libraries to be resident therein. This means that it ispossible to calculate a minimum necessary size of a memory from the liveranges of the libraries, thereby deciding a recommended memory sizesatisfying the calculated size. By doing so, the operating environmentcan be made similar to that of the hardware specification of a BDplayback apparatus.

Next, the embodiment of a playback apparatus relating to the presentinvention is described. FIG. 25 is a diagram showing an internalstructure of a playback apparatus according to the present invention. Asthis diagram shows, the playback apparatus is made up of a BD drive 1, atrack buffer 2, a demultiplexer 3, a video decoder 4, a picture plane 5,an audio decoder 6, an image plane 8, an image decoder 9, an addingdevice 10, a static scenario memory 11, a playback control engine 12, aplayer register 13, a memory 14, a switcher 15, a DVD-like module 16, aJava module 17, a browser module 18, an UO manager 19, and a trackbuffer 21.

The BD-ROM drive 1 performs loading/eject of a BD-ROM, and makes anaccess to an BD-ROM.

The track buffer 2 is a FIFO memory, and stores the ACCESS UNITs readfrom a BD-ROM in the first-in first-out basis. When the input speed tothe track buffer 2 is Va and the output speed thereof is Vb, the bufferstate of the track buffer 2 will be as shown by the graph of FIG. 20.

The demultiplexer 3 performs demultiplexing by taking out the ACCESSUNITs from the track buffer 2, obtains the video frames and the audioframes that constitute a GOP, and outputs the video frames to the videodecoder 4, and the audio frames to the audio decoder 6. The sub-pictureunits constituting the sub-picture stream are outputted to the imagedecoder 9. The demultiplexing performed by the demultiplexer 3 includesconversion processing for converting TS packets into PES packets.

The video decoder 4 decodes the video frames outputted from thedemultiplexer 3, thereby writing resulting non-compressed pictures tothe picture plane 5.

The picture plane 5 is a memory for storing therein non-compressedpictures.

The audio decoder 6 decodes the audio frames outputted from thedemultiplexer 3, thereby outputting resulting non-compressed audio data.

The image plane 8 is a memory having an area for a screen, to whichimages to be displayed (e.g. computer graphics and subtitles) areplaced.

The image decoder 9 is a constituting element that corresponds to thenative drawing system shown in FIG. 13. The image decoder 9 decompressesthe sub-picture stream outputted from the demultiplexer 3, and writesthe decompressed sub-picture stream to the image plane 8. In addition,the image decoder 9 renders computer graphics according to aninstruction from the Java virtual machine, and writes the computergraphics to the image plane 8.

The adding device 10 overlays the images developed on the image plane 8,onto the non-compressed picture data stored in the picture plane 5, andoutputs the result. The overlaid screen shown in FIG. 21 (a screen inwhich computer graphics rendering an airplane is overlaid in front of amoving image) is generated by means of this adding device, by overlayingthe image in the image plane 8, with the picture in the picture plane 5,and outputting the result. In overlaying, the adding device 10 receivesan instruction about a mixing rate α, and mixes the pixel values of theimages stored in the image plane 5 and the image plane 8 together,according to this mixing rate a. This structure even enables display ofan overlaid image in which the pictures rendered by the video data areseen through the computer graphics. Note here that the mixing rate a maybe arranged to be modifiable by the dynamic scenario.

The static scenario memory 11 is a memory for storing therein current PLinformation and current stream management information. The current PLinformation is one of a plurality of pieces of PL information on aBD-ROM, which is currently a process target. The current streammanagement information is one of a plurality of pieces of streammanagement information on a BD-ROM, which is currently a process target.

The playback control engine 12 executes various functions including: AVplayback function (1); playlist playback function (2); function ofobtaining/setting state of a playback apparatus. The AV playbackfunction of a playback apparatus is a group of functions inherited fromthe DVD player and the CD player. The AV playback function isspecifically for performing, according to a user operation, processingsuch as “play”, “stop”, “pause on”, “pause off”, “still off”, “forwardplay(speed)”, “backward play(speed)”, “audio change”, “subtitle change”,and “angle change”. The PL playback function is for performing “play”and “stop”, from the AV playback function, according to PL information.By performing the PL playback function, the playback control engine 12functions as the third layer in the layer model (i.e. playback controlbased on a static scenario). The playback control engine 12 performs theAV playback function according to a user operation, and performs thefunctions (2)-(3) according to a function call from the DVD-like module16—the browser module 18. That is, the playback control engine 12performs its function according to an instruction by way of a useroperation, an instruction from the higher layers of the layer model, andthe like.

The player register 13 is made of 32 system parameter registers and 32general-purpose registers. The storage values of these registers areused as variables “SPRM” and “GPRM”, for programming. The systemparameter registers and the general purpose registers are managed by theplayback control engine 12, which is separate from the DVD-like module16—the browser module 18. Accordingly, even if the playback mode isswitched from one to another, the module for performing the playbackmode after switching can know the playback state of the playbackapparatus, by only referring to the SPRM(0)-(31) and the GPRM(0)-(31) atthe playback control engine 12.

The meaning of the setting value (SPRM) of the player status register isshown below. The notation “SPRM(x)” below indicates that this is thesetting value of the xth player status register.

-   -   SPRM(0): reserved    -   SPRM(1): stream number of audio stream to be decoded    -   SPRM(2): stream number of sub-picture stream to be decoded    -   SPRM(3): number representing angle setting by a user    -   SPRM(4): number representing title to be currently played back    -   SPRM(5): number representing chapter to be currently played back    -   SPRM(6): number representing PL to be currently played back    -   SPRM(7): number representing CELL to be currently played back    -   SPRM(8): time information representing current playback time        point    -   SPRM(9): counted value at the navigation timer    -   SPRM(10): number representing button currently in selected state    -   SPRM(11)-(12): reserved    -   SPRM(13): setting of parental level by a user    -   SPRM(14): setting of playback apparatus relating to image        playback    -   SPRM(15): setting of playback apparatus relating to audio        playback    -   SPRM(16): language code for audio setting in playback apparatus    -   SPRM(17): language code for subtitles setting in playback        apparatus    -   SPRM(18): language setting for menu rendering    -   SPRM(19)-(31): reserved

Here, SPRM(10) is updated every time each picture data belonging to theAV stream is displayed. In other words, every time the playbackapparatus displays new picture data, SPRM(10) is updated to show thepresentation start time (presentation time) of the new picture data.Therefore it is possible to know the current playback time point byreferring to this SPRM(10). Likewise, by referring to SPRM(6), it ispossible to know the number representing a PL that is a current playbacktarget, and by referring to SPRM(7), it is possible to know the numbercorresponding to a CELL that is a current playback target.

The memory 14 is a cache memory in which interleave units read from theBD are to be stored. The memory 14 is different from the track buffer 2in that the memory 14 is not a queue memory on the FIFO (first-infirst-out) basis. The other constituting elements can take out data fromthis memory 14. The memory 14 can delete interleave units according to arequest of the other constituting elements.

Every time the optical pickup of the BD drive 1 reads information fromthe sectors of the BD-ROM, the switcher 15 writes the read informationto either the track buffer 2 or the memory 14 by referring to the filemanagement information. In the file management information, theaddresses of segments constituting files are stored by beingcorresponded with file names. Therefore, the read information from thesectors can be stored to either the track buffer 2 or the memory 14, bycomparing the sector address of the current read position of the opticalpickup with the file management information. If the sector addressindicating the current read position falls within a recording area ofthe file “XXX.M2TS”, then the read information from the BD-ROM issequentially written to the track buffer 2. If the sector addressindicating the current read position falls within a recording area ofthe library, the read information from the BD-ROM is sequentiallywritten to the memory 14. Although read information from the BD-ROM isin a unit of sector, by repeating writing of read information to thetrack buffer 2 or to the memory 14, one ACCESS UNIT or one library iseventually obtained on the track buffer 2 or on the memory 14.

The DVD-like module 16 is a DVD virtual player, which is an executingsubstance of the movie mode. The DVD-like module 16 executes a dynamicscenario in the current movie mode having been read to the dynamicscenario memory 15.

The Java module 17 is a constituting element that corresponds to theJava platform shown in FIG. 13. The Java module 17 executes a dynamicscenario in the current Java mode using the library having been readonto the memory 14.

The browser module 18 is a browser that is an executing substance of thebrowser mode. The browser module 18 executes a dynamic scenario in thecurrent browser mode having been read onto the dynamic scenario memory15. Protocols usable by the browser module 18 are HTTP, IP, ARP, RARP,TCP, telnet, SMTP, and ftp, for example.

The UO manager 19 detects a user operation directed to the remotecontroller or the front panel of the playback apparatus, and outputsinformation indicating the user operation (hereinafter “UO(useroperation)”).

The dynamic scenario memory 21 stores a current dynamic scenario, andprovides the current dynamic scenario for processing by the DVD-likemodule 16—the browser module 18. The current dynamic scenario is one ofa plurality of scenarios recorded in the BD-ROM, which is a currentexecution target.

Next, how the playback apparatus of the present embodiment readsinterleave units is explained below. Interleave units are read onto thememory 14 together with ACCESS UNITs constituting the AV stream, by theplayback control engine 12 when executing PL playback. PL playback isperformed in accordance with the process procedure shown in theflowchart of FIG. 26. The playback control engine 12 performs PLplayback according to the flowchart of FIG. 26, when calling the PlayPLfunctions from the DVD-like module 16—the browser module 18. A PlayPLfunction is a function to be called in notation of “PlayPL(XX,YY)”, andindicates playback of the PL identified by the first argument “XX” fromthe CELL identified by the second argument “YY”.

Here, assume that the PL to be processed in FIG. 26 is “PLx”, and theCELL to be processed is “CELLy”, and that the ACCESS UNIT to beprocessed is “ACCESS UNITv”. Prior to this flowchart, the PL identifiedby the argument of the PLPlay function is set as PLx, and the PLx isread to the memory, thereby identifying the CELL to be processed. Ifthere is no argument specification at function call, the CELLy is set asthe first CELL of the PLx, and the CELLz is set as the last CELL of thePLx. The CELLz is a CELL that defines the last of the reading range.

If there is an argument specification, the CELLy is set as theargument-specified CELL, and likewise the CELLz is set as the sameargument-specified CELL. The reason why the CELLy and the CELLz are setas the same argument-specified CELL is that then it is only sufficientto read the CELL in the case where argument specification of CELL hasbeen done.

Step S1-Step S19 show the procedure of read/decode the ACCESS UNITsconstituting the CELLy. The procedure is as follows. ACCESS UNITvincluding the In-point video frame of the CELLy is identified from theTMAP (Step S1), then after going through the judgments of Step S2-StepS5, reading of the ACCESS UNITv is instructed to the BD-ROM drive 1(Step S6). After going through the judgments of Step S7-Step S8, decodeof the video frames included in the ACCESS UNITv is instructed to thevideo decoder 4 (Step S9), then the ACCESS UNITv is set as the nextACCESS UNIT (Step S10).

Step S2 is for judging whether the segment to which the ACCESS UNITvbelongs is not read yet. If the ACCESS UNITv is the firstly read ACCESSUNIT in the segment to which the ACCESS UNITv belongs (Step S2: No),then the segment to which the ACCESS UNITv belongs is set as segment i(Step S11), interleave unit i preceding the segment i is read, byreferring to the TMAP (Step S12), then reading of the ACCESS UNITv isinstructed to the BD drive 1 (Step S6). By doing so, the ACCESS UNITv isread from the BD together with the preceding interleave unit.

Here, the segment including an ACCESS UNIT is stored in the file“XXX.M2TS”, and the library preceding this is stored in the file“ILUsss.CLASS”. Since the segment and the library are respectivelystored in two separate files, the playback control engine 12 shouldperform reading from the file “ILUsss.CLASS” and reading from “XXX.M2TS”successively.

Reading from the file “ILUsss.CLASS” is performed as follows. The file“ILUsss.CLASS” is opened, and the file pointer is set to indicate thebeginning position of the opened file “ILUsss.CLASS”. Then a READcommand, which is set as the total length of the file “ILUsss.CLASS”, isissued to the BD drive 1. By issuing such a command, the file“ILUsss.CLASS” is read to the memory 14 of the playback apparatus 200.

Reading from the file “XXX.M2TS” is performed as follows. The file“XXX.M2TS” is opened, and the file pointer is set to indicate thebeginning position of the ACCESS UNITv in the file “XXX.M2TS”. Then aREAD command, which is set as the total length of the ACCESS UNITv, isissued to the BD drive 1. By issuing such a command, the ACCESS UNITv isread to the track buffer 2 of the playback apparatus 200.

Right after the file “ILUsss.CLASS” has been read from the BD drive 1,the file pointer indicates the last position of the file “ILUsss.CLASS”(interleave unit). The segment including the ACCESS UNITv is positionedimmediately behind the interleave unit. Therefore a slight move of theoptical pickup will enable the file pointer to be set to indicate thebeginning position of the ACCESS UNITv.

According to the above structure, in reading from the file“ILUsss.CLASS” and from “XXX.M2TS”, the optical pickup can read thesegment and the preceding interleave unit all together, without any seekoperations.

Step S3 is for judging whether the current playback time point hasreached the IN-point of the live range of any interleave unit in thememory. If the judgment is in the affirmative (Step S3: Yes), then thelibrary in the corresponding interleave unit is made usable (Step S13),and the control is moved to Step S6.

Before the library in the interleave unit is made usable, even when theapplication program (dynamic scenario in Java mode) instructs thelibrary loading from the memory 14 to the work area of the Java virtualmachine, the loading is not performed and it ends up as an exceptionalending, just as when the library has not yet read to the memory 14. Onthe contrary, after the library in the interleave unit is made usable,the library is transferred to the work area of the Java virtual machine,according to the loading instruction from the application. Such transferenables the library to be executed by the Java virtual machine.

Step S4 is for judging whether there is any user operation. If thejudgment is in the affirmative, whether the operation is a STOPoperation is judged (Step S15), and if it is a STOP operation (Step S15:Yes), the processing in this flowchart ends. If the user operation isother than a STOP operation, corresponding processing is performed, andthe control will return to the loop processing made of Step S2-Step S10.

Step S5 is for judging whether the current playback time point hasreached the OUT-point of the live range of any interleave unit in thememory. If the judgment is in the affirmative, the interleave unit isdeleted from the memory (Step S14), and the control is moved to Step S6.

Step S7 is for judging whether the ACCESS UNITv includes an IN-pointvideo frame. If the judgment is in the affirmative (Step S7: Yes), thevideo decoder is instructed to decode from the IN-point video frame tothe last video frame in the ACCESS UNITv (Step S16), and the control ismoved to Step S9.

Step S8 is for judging whether the ACCESS UNITv includes the OUT-pointvideo frame of the CELLy. If the judgment is in the affirmative (StepS8: Yes), the video decoder 4 is instructed to decode from the beginningvideo frame of the ACCESS UNITv to the OUT-point video frame (Step S17),and the judgment of Step S18 is performed. Step S18 is an endingjudgment of this flowchart, and is for judging whether the CELLy hasbecome CELLz. If the judgment of Step S18 results in “Yes”, then thisflowchart is ended. Otherwise, the CELLy is set as a next CELL (StepS19), and the control returns to Step S1. Hereinafter, until Step S18results in “Yes”, the processing of Step S1-Step S19 is repeated.

FIG. 27 is a diagram in which, from among the constituting elements ofFIG. 25, library-related elements are extracted and drawn. This drawingschematically shows a path by which an application uses or calls alibrary or a program read to the memory 14 as “ILUsss.CLASS”. Thelibrary or the program is recorded in the form of interleave unit aheadof a segment, and so is read to the memory 14 together with the segment(see the arrow “gy1”). The arrow “gy2” indicates a path by which alibrary is used by an application. The library is loaded from the memory14 to the work area of the Java module 17. By this loading, theapplication is able to call the function in the library, as the arrow“gy3” shows.

The arrow “gy4” indicates a path by which the program in “ILUsss. CLASS”is called. The program is loaded from the memory 14 to the work area ofthe Java module 17. By this loading, the program in “ILUsss.CLASS” ispositioned equal to the application, thereby being executable by theJava module 17.

If the library or the application that is loaded to the work area of theJava virtual machine is for performing control “gy5” directed to theimage decoder 9, then the image decoder 9 performs decompressingprocessing and the image after being decompressed is stored in the imageplane 8. On the other hand, the ACCESS UNIT has been read to the videodecoder 4 via the track buffer 2 and the demultiplexer 3. Therefore thepicture plane 5 will obtain non-compressed picture. An overlaid image asshown in FIG. 21 is obtained by overlaying of the image obtained by theimage decoder 9 and the picture obtained by the video decoder, which isperformed by the adding device 10.

As described above, according to the present embodiment, a library to beexecuted synchronously with segment playback is arranged ahead of thecorresponding segment in the form of interleave unit. Therefore inplaying back the segment, the segment and the library to be executedtherewith are read together, by an arrangement of deviating the readposition of the optical pickup away from the beginning position of thesegment. According to this arrangement, it is sufficient that thelibrary that requires synchronous processing is read with the segment,in reading of the segment. Moreover, after the synchronous processingwith the segment is ended, the library is deleted from the memory anddoes not have to be resident during the whole sections of the digitalstream playback. In a case where there are a plurality of libraries tobe synchronously processed with a digital stream, a playback apparatuswill only require a memory of a size sufficient for storing programsrequired during synchronous processing with a segment playback, under acondition that the library deletion from the memory is performed uponending of each program. According to such a structure, it is possible torealize synchronous processing between digital stream playback and avariety of libraries, at a minimum memory size.

Second Embodiment

In the first embodiment, the object to be interleave recorded is alibrary program; whereas in the second embodiment, the object to beinterleave recorded is display data. The display data includes imagedata, document data, and drawing data. The image data includes JPEG,GIF, PNG, MNG data, which is data displayable by decompressionprocessing performed directly by the image decoder 9. The document dataincludes HTML/SMIL, XML documents, and text documents, which are datainterpreted by the browser module 18, and are made displayable bydisplay control that is based on the interpretation result and isreceived by the image decoder 9.

The drawing data is data directed to so-called drawing editors, and isdata representing three-D shapes and graphic forms by coordinates,vectors, and curvatures. The drawing data is data interpreted by theJava module 17, and is made displayable by control that is based on theinterpretation result and is received by the image decoder 9.

Display data, being an interleave unit, is displayed by beingsynchronized with segment playback. The synchronous display hereincludes a case where during the segment playback JPEG, GIF, PNG, MNGdata is displayed by being overlaid, and a case where during segmentplayback, HTML/SMIL document, XML document, or text document isdisplayed in a separate window. A HTML/SMIL document, an XML document,and a text document are used by an application program of browser mode;and JPEG, GIF, PNG, MNG data is used by an application program of Javamode. When a particular scene appears during playback of an AV stream,an application program of Java mode is likely to issue a loadinginstruction from the cache memory to the work area of the Java virtualmachine. Therefore it is necessary to read the display data to the cachememory prior to a period during which synchronous display is planned.Likewise, an application program of browser mode is likely to ask foruse of display data. Therefore it is necessary to read the display datato the cache memory prior to a period during which synchronous displayis planned. In view of this, in the second embodiment, a live range iscalculated from the period during which corresponding display datashould be synchronized, so that an interleave unit, which contains thedisplay data, is interleave recorded at a position corresponding to theIN-point of the live range. By doing so, the interleave unit will beread to the cache memory of the playback apparatus immediately ahead ofthe period during which synchronous display is planned.

FIG. 28 is a diagram showing where the data is positioned in the layermodel that the Java language targets. As this drawing shows, the data tobe synchronously displayed with segment playback is positioned in thehigher-order layer of the native drawing system.

The display data is interleave recorded to the BD-ROM, just as the caseof libraries.

FIG. 29 is a diagram showing a structure of an interleave unit storingtherein display data. In this drawing, the header, besides including alocator, live-range IN-point information, and live-range OUT-pointinformation, just as in the first embodiment, includes “file name”,“start_address”, and “language attribute (language_type)” for a file,and “display start time information” “display ending time information”of a file on the playback time axis of the AV stream, “displaycoordinates information” of a screen, “effect information” for producinga display effect, and “forced output flag”.

The reason why the header includes “display start time information” and“display ending time information” is that the display timing for displaydata is required to realize synchronous display of the display dataincluded in the interleave unit synchronized with playback of the videodata constituting the AV stream. The reason why “display start timeinformation” and “display ending time information” are definedseparately from “live range” is to deal with such cases as: a case wheredisplay of an interleave unit is not desired, even though the interleaveunit has been read to the memory; and a case for repeatingdisplay/non-display of display data included in the interleave unitplaced on the memory.

The reason why “language attribute (language_type)” is included in theheader is that when display data relates to texts or conversations, itis necessary to explicitly show the language used therein.

The reason why “display coordinates” is included in the header is tomove display data to a position easy to look at, in a case where thedisplay data is hard to read when overlaying with video data is assumed,depending on the pattern of the video data being a background.

“Effect information” provided in the header is to satisfy the demand forproducing effect such as fade-in/fade-out, at the display start ordisplay end of display data.

“Forced output flag” provided in the header is to satisfy the demand forforcing the display even when a user has selected not to displaysubtitles. In the present embodiment, the display data is recorded infront of a segment, in the form of an interleave unit and with theheader as shown in FIG. 29. Next, the improvement on the playbackapparatus relating to the present embodiment is explained (i.e. imagedecoder 9, switcher 15).

The switcher 15, every time the optical pickup of the BD drive 1 readsinformation from a sector sequence in which interleave units are stored,writes the read information to the memory 14. By repeating the writingof read information to the memory 14, the interleave units will beobtained on the memory 14.

The image decoder 9 refers to the headers of the interleave units storedin the memory, and when the current playback time point reaches thedisplay start time of display data in any interleave unit, draws thecorresponding display data, and writes it to the image plane 8. On theother hand, when the current playback time point reaches the displayending time of display data in any interleave unit, the image decoder 9deletes display data from the image plane 8.

FIG. 30 is a diagram showing the path via which the image data, thedocument data, and drawing data, each read onto the memory 14 as aninterleave unit, are displayed. The arrow “my1” schematically shows thepath via which image data is displayed. Image data is read to the memory14 from the BD-ROM, in the form of interleave unit (gy1), and isdirectly supplied to the image decoder 9 (my1). The image decoder 9performs decoding processing, thereby realizing the display.

The arrows “my2” and “my3” are paths via which document data isdisplayed. Document data is temporarily read to the browser module 18from the memory 14 (my2). The browser module 18 interprets the documentdata and outputs the interpretation result (my3). The document data isdisplayed by display control (ky1) directed to the image decoder 9performed based on the interpretation result.

The arrows “my4” and “my5” are paths via which the drawing data isdisplayed. The drawing data is temporarily loaded to the work area ofthe Java module 17 (my4). The Java module 17 outputs an interpretationresult of the drawing data (my5). The drawing data is displayed bydisplay control (ky2) directed to the image decoder 9 performed based onthe interpretation result.

As described above, according to the present embodiment, display data isinterleave recorded, and so the display data is able to be read to thememory within the playback apparatus synchronously with reading of asegment. Therefore it is possible to easily realize synchronization ofsegment playback and display data display. By providing informationrelating to the display data in the header of a corresponding interleaveunit, various types of data, being the substance of the interleave unit,are able to be displayed synchronously with playback of the AV streamwithout changing the format of the display data.

Third Embodiment

In the first embodiment, synchronous reading of interleave unit andprogram is realized by placing an interleave unit ahead of the startpoint of the live range of a corresponding program. However, with thefirst embodiment, even when a random access is performed to a midwayposition of a live range, reading should be performed from the beginningof a corresponding interleave unit, and so reading takes long. In aBD-ROM, it is possible to define a playback path by means of playlistinformation. Therefore it is rare to play back from the beginning of theAV stream in playback-path playback. It is more often that playbackstarts from a midway position in an AV stream.

If random access to a midway position of an AV stream or of a segmentfrequently happens, optimal interleave-unit reading is not possible ifwith the placement of interleave unit ahead of segment. Therefore thepresent embodiment proposes redundancy of interleave unit. Theredundancy proposed here is to provide a copy of an interleave unit thatprecedes a particular segment. The place to which the copy should beprovided corresponds to a midway position of the live range of a libraryincluded in the interleave unit. FIG. 31 is a diagram showing where in asegment a copy of an interleave unit should be incorporated. In thisdrawing, an AV stream is divided by segment i and segment i+1, at amidway position of the live range of a library #x, and an interleaveunit is provided between the segment i and the segment i+1. Theinterleave unit between the segment i and the segment i+1 includes thelibrary #x, which is a copy of the interleave unit positionedimmediately ahead of the segment i. That is, a copy of the interleaveunit ahead of the segment i exists at a midway position of the liverange of the library #x.

FIG. 32 is a diagram showing how program reading is performed whenrandom access is performed to a midway position of the segment i. (1) inthis drawing indicates a random-access point in the segment i.

Since the interleave unit exists ahead of the segment i, it is required,in conventional cases, to perform optical pickup reading ahead of thesegment i (which corresponds to the position (2)). However according tothe present embodiment, a copy of the interleave unit exists at a midwayposition of the live range of the program. Accordingly, if reading isperformed from the random-access point (1) to (3) as shown in FIG. 32,the copy of interleave unit will be read from the random-access position(1). According to this structure, a copy of an interleave unit isrecorded in a midway position of the live range of a library. Thereforewhen random access is performed to an ACCESS UNIT positioned in midwayof the live range, it is possible to start AV stream reading byperforming reading from a copy of interleave unit that is in theimmediate vicinity. Since it is no more necessary to move the opticalpickup to the interleave unit preceding the particular segment, readingfrom a random-access position of a digital stream and processing withuse of a library become easy.

Next, improvement about how to incorporate the four libraries as shownin FIGS. 22-24 into one AV stream is explained. FIG. 33 is a diagramshowing a relation between the four libraries #1, #2, #3, and #4 (ofFIGS. 22A and 22B) and the segments. Among the segment 1/5—the segment5/5, the boundaries from the segment 2/5 to the segment 5/5 respectivelycorrespond to In-points of the live ranges for the libraries #1, #2, #3,and #4. However, the boundary between the segments 1/5 and 2/5 exists ina midway point of the live range of the library #1. A copy of theinterleave unit #1 is placed in front of the segment 2/5. Thereafter,interleave unit #2, interleave unit #3, interleave unit #4 arerespectively placed in front of the segment 3/5, the segment 4/5, andthe segment 5/5. Since the copy of interleave unit #1 is placed in frontof the segment 2/5, when random access to an ACCESS UNIT included in thesegment 2/5, only the scan by means of optical pickup to the copy ofinterleave unit #1 will enable reading of the interleave unit #1 ontothe memory, without moving the optical pickup up to the interleave unit#1 preceding the segment 1/5.

As described above, according to the present embodiment, it becomespossible to place a copy of interleave unit behind the position such asIN-point of a cell, which is among ACCESS UNITs constituting an AVstream and is expected to receive random access often. If thisarrangement is made, an application program is able to use a librarywithout performing disc seek up to a corresponding interleave unitplaced in front of a segment. Even when random access is expectedfrequently due to use of PL information in playback, there will beminimum amount of disc seek, and so smooth reading is facilitated.

Fourth Embodiment

Interleave units are placed in front of program live ranges in the firstembodiment and the second embodiment, and the second embodiment also hasa copy of interleave unit placed in a midway point of a program liverange. However, when a digital stream is played back in the reversedirection, a playback apparatus of any of the described embodimentscannot perform favorable interleave-unit reading. This is because thereverse playback is to go back on the playback time axis of an AV streamin the direction from the future to the past. So as to perform thereverse playback smoothly, the present embodiment provides redundancyfor the interleave units. The redundancy here is to incorporate a copyof interleave unit preceding a particular segment, behind the segment.

FIG. 34A is a diagram showing the placement of interleave unit, segment,and copy of interleave unit. In FIGS. 34A and 34B, in front of thesegment i to be played back in the ith place, the interleave unit i,whose the live range falls during this playback time duration, isplaced. The segment i includes IN-point of the live range of the library#x. The interleave unit i includes the library #x. Furthermore, behindthe segment i, a copy of interleave unit, which has been placed in frontof the segment i, is placed.

FIG. 34B is a diagram to which the i+1th segment is added to FIG. 34A.Just as in FIG. 34A, a copy of interleave unit i is placed behind thesegment i, and interleave unit i+1 is placed further behind. Technicalmeaning of providing such a copy of interleave unit is to efficientlyperform reverse playback.

The following compares a case where there is a copy of interleave unitand a case without such a copy. FIG. 35 is a diagram showing how reverseplayback is performed when there is a copy of interleave unit. Inreverse playback, ACCESS UNITS included in each segment should be readfrom the last. The arrows (1)(2)(3)(4) in FIG. 35 indicate disc seekswhen the segment i+1 includes ACCESS UNIT #8, and the segment i includesACCESS UNITs #4-#7. The first arrow (1) indicates a disc seek forreading the picture data belonging to ACCESS UNIT#8 included in thesegment i+1 from the beginning. The arrow (2) indicates a disc seek forreading the interleave unit i, and the arrow (3) indicates a disc seekfor reading ACCESS UNIT #7. The long seek 1 in the drawing indicates along seek operation after reading ACCESS UNIT#8 in the i+1th segment andbefore accessing interleave unit i immediately ahead of the ith segment.The long seek 2 indicates a long seek operation after reading interleaveunit i and before reading ACCESS UNIT#7.

After the entire i+1th segment is read out, the following two jumps haveto be performed: a jump to the interleave unit i (long seek 1); and ajump from the interleave unit i to the last ACCESS UNIT of the ithsegment (long seek 2). This seek operation has a lot of waste.

FIG. 36 is a diagram showing seek operations for a BD-ROM in which acopy of interleave unit is incorporated. The difference between thisdrawing and FIG. 35 is that interleave unit i+1 is placed in front ofthe i+1th segment, and that a copy of the interleave unit i is placed infront of the interleave unit i+1. Seek (1) is a disc seek for reading acopy of interleave unit i, the interleave unit i+1, and ACCESS UNITs inthe i+1th segment. Seek (2) is a disc seek for reading ACCESS UNIT#7 inthe ith segment. Seek (3) is a disc seek for reading ACCESS UNIT#6 inthe ith segment.

Since the copy of interleave unit i is placed immediately ahead of theinterleave unit i+1, in reverse playback, seek (1) enables theinterleave unit i to be read together with the first ACCESS UNIT in thei+1th segment. Since interleave units are read simultaneously withreading of segments, the example of FIG. 36 does not necessitate anylong seek, and an instant reading of interleave unit i relating tosegment i is enabled. By placing a copy of each interleave unit behind acorresponding segment in the above way, occurrence of long seek inreverse playback can be avoided.

Next, improvement directed to a case where four libraries as shown byFIGS. 22-24 are incorporated into one AV stream is explained. FIG. 37 isa diagram showing a relation between the four libraries #1, #2, #3, and#4 shown in FIG. 22 and the segments. In this embodiment, after thesegment 1/4 and before the interleave unit #2, a copy of interleave unit#1 is recorded. In addition, after the segment 2/4 and before theinterleave unit #3, a copy of interleave unit #2 is recorded; and afterthe segment 3/4 and before the interleave unit #4, a copy of theinterleave unit #3 is recorded. Such placement of copies preventsoccurrence of a long seek in reverse playback.

Next, improvement directed to a playback apparatus according to thepresent embodiment is explained. Disc access shown in FIG. 36 isrealized by the processing based on the flowchart of FIG. 38, which isperformed by the playback control engine 12 in reverse playback. Theflowchart of FIG. 38 is to be performed when a user instructs a reverseplayback operation in the flowchart of FIG. 26.

Step S32-Step S40 indicates reading and decoding of ACCESS UNITsconstituting CELLy, whose details are as follows. First, judgments ofStep S32-Step S35 are performed. Then reading of ACCESS UNITv isinstructed to the BD-ROM drive 1 (Step S36). After judgments of StepS37-Step S38 are performed, the video decoder 4 is instructed to decodevideo frames included in the ACCESS UNITv (Step S39), and the ACCESSUNITv is set as a next ACCESS UNIT (Step S40).

Step S32 is for judging whether the segment to which the ACCESS UNITvbelongs has not been read yet. If it has not been read yet, it is judgedwhether the segment to which the ACCESS UNITv belongs is the secondsegment or a segment thereafter (Step S42). If the judgment of Step S42is in the affirmative (Step S42:Yes), then the segment to which theACCESS UNITv belongs is set as segment i+1 (Step S43), and interleaveunit i+1 and interleave unit i, preceding the segment i+1, are read byreferring to the TMAP (Step S44). If the segment to which the ACCESSUNITv belongs is the first segment (Step S42:No), then the segment towhich the ACCESS UNITv belongs is set as segment i (Step S11), andinterleave unit i, preceding segment i, is read by referring to the TMAP(Step S12). Here, the ACCESS UNITv and the preceding two interleaveunits have been stored in three separate files. Therefore application inJava mode is required to successively issue commands for reading twofiles corresponding to the two interleave units, and a command forreading “XXX.M2TS”. By moving the optical pickup to the beginningaddress of a copy of interleave unit, one reading operation of theoptical pickup can read a segment and two interleave units preceding tothe segment, at once.

Step S33 is the same processing as in Step S3 of FIG. 26, and is forjudging whether the current playback time point has reached the IN-pointof the live range of any interleave unit on the memory. If the judgmentis in the affirmative, the library in the interleave unit is set to beavailable.

Step S35 is the same processing as in Step S5 of FIG. 26, and is forjudging whether the current playback time point has reached theOUT-point of the live range of any interleave unit on the memory. If thejudgment is in the affirmative, the interleave unit is deleted from thememory.

Step S37 is for judging whether ACCESS UNITv includes the OUT-pointvideo frame. If the judgment is in the affirmative (Step S37:Yes), thevideo decoder 4 is instructed to decode from the first video frame inACCESS UNITv to the OUT-point video frame (Step S45), then the controlis moved to Step S39.

Step S38 is for judging whether ACCESS UNITv includes IN-point videoframe. If the judgment is in the affirmative (Step S38:Yes), the videodecoder 4 is instructed to decode from the IN-point video frame to thelast video frame of ACCESS UNITv (Step S46), and then judgment of StepS47 is performed. Step S47 is an ending judgment of this flowchart;specifically, it judges whether CELLy has become the first CELLconstituting a PL. If Step S47 has resulted in Yes, the flowchart isended. Otherwise, CELLy is set as one CELL ahead constituting the PL(Step S48) Then ACCESS UNIT that includes IN-point video frame of CELLis specified from the TMAP, and the control is moved back to Step S32.Thereafter, processing of Step S32-Step S49 will be repeated untiljudgment of Step S47 results in Yes.

As described above, according to the present embodiment, even when theplayback time axis is traced back from the future to the past, forarriving at the live range of a library, reading of the library from aBD-ROM to a memory is realized without performing unnecessary seek.Therefore even when playback progression is irregular such as reverseplayback, a library is read to a memory. Therefore, it is possible torealize various types of processing on a premise of AV playbacksynchronization, even in reverse playback.

Fifth Embodiment

The fifth embodiment plays back a PL, and performs various types ofplayback control in synchronization with this playback. The followingdescribes application in Java mode.

FIG. 39 is a diagram showing the file structure of a BD-ROM according tothe present embodiment. What is new in this drawing is thatYYY.Mark(PLMark) and XXX.Mark(ClipMark) are added.

PLmark is information showing a section to which a playback apparatusshould perform extended control during playback of a PL. The file body“YYY” of the file name “YYY.Mark” is the same as the file body of thefile name of PL corresponding to PLMark. Since the file body of the filename of PLMark in this drawing is “YYY”, it corresponds to PL(YYY.PL).

ClipMark is information showing a section to which a playback apparatusshould perform extended control during playback of an AV stream. Thefile body “XXX” of the file name “XXX.Mark” is the same as the file bodyof the file name of the AV stream corresponding to ClipMark. Since thefile body of the file name of Clipmark in this drawing is “XXX”, itcorresponds to an AV stream (XXX.M2TS).

The difference between ClipMark and PLMark is as follows. ClipMarkspecifies a section to which extended control should be performed, inrelation to an AV stream, whereas PLMark specifies a section to whichextended control should be performed in relation to a PL.

For example, suppose a case where two sets of PL information are definedfor one AV stream, as shown in FIG. 11. In this case, if a section towhich extended control should be performed is specified using ClipMark,the specification will apply to both of the two sets of PL informationspecifying this AV stream. On the other hand, if the section to whichextended control should be performed is specified using PLMark, thespecification will only apply to the PL that corresponds to the PLMark.In other words, if the PL corresponding to the PLMark is PL#1, thespecification only applies to PL#1 and not to PL#2. In summary, if asection to which extended control should be performed is specified usingClipMark, the ClipMark will be effective on any PL that includes aparticular AV stream. If, on the contrary, such a section is specifiedusing PLMark, the PLMark will be only effective on the PL correspondingto the PLMark.

The extended control meant in the present embodiment is to generate anevent in the playback apparatus. So as to generate an event, PLMark andClipMark have a common data structure shown in FIG. 40. FIG. 40 is adiagram showing the common structure shared by PLMark and ClipMark. Asthis drawing shows, PLMark is composed of event number (number) and eachevent (event#1-event#m), and defines an event to occur during playback.Each event (Event#) is composed of: type of event (type); ID of event(ID); time at which the event occurs (time); and duration of the periodduring which the event is effective (duration).

There are two types of event defined by the above data structure:TimeEvent and UserEvent. TimeEvent is an event that occurs when thecurrent playback position reaches a predetermined time T on the playbacktime axis of a playlist. UserEvent is an event that occurs when a useroperation is performed while the current playback position falls in apredetermined period. The following explains, with reference to FIG.41B, how PLMark is described when TimeEvent, which appears duringplayback of the playlist #1 (PL#1), is defined. The time axis in thelower level of this drawing represents a time axis along which PL#1 isplayed back. Here, suppose defining TimeEventEx1 that occurs from thetime t1 on this time axis. An example of PLMark description in definingTimeEvent is PLMarkmt1 in this drawing. PLMark is described so that“TimeEvent” is described as Type, “Ex1” is described as ID, “t1” isdescribed as Time, and “0” is described in Duration. The arrow in thedrawing indicates TimeEvent at the arrival of time t1. Due to theoccurrence of this TimeEvent, the event handler in the drawing will bedriven.

In contrast to this, FIG. 41B shows a description example of PLMark ingenerating TimeEvent at intervals of T from the time t1 of the playbacktime axis. The difference of FIG. 41B from FIG. 41A is that “T” isdescribed in Duration of PLMark. By the description of Duration,TimeEvent will occur at intervals of T from the time t1.

The following explains, with reference to FIG. 42, how to describePLMark in defining UserEvent during playback of playlist #1. The timeaxis in the middle level of FIG. 42 is a playback time axis along whichPL#1 is played back. A current playback time point on this time axis isshown by SPRM(10). Here suppose a case where UseEvent Ev1 that is to beeffective from time t1 for duration T1 is defined. PLMark that definesthis UserEvent is PLMark mt2 in this drawing. This PLMark is describedsuch that UserEvent is described in Type, and Ev1 in ID, t1 in Time, andT1 in Duration. The remote controller rm1 in this drawing is anapparatus for receiving a user operation. The arrow “uv1” represents aUO that occurs by a press of ENTER key of the remote controller. If a UOoccurs at any time from time t1 for duration T1, UserEvent Ev1 willoccur according to the UO. According to this UserEvent, the eventhandler in the drawing will be driven. Explanation about an eventdefined by ClipMark is omitted, because event defining by ClipMark issimilar to that by PLMark, because the difference between them is simplythat ClipMark defines an event to occur during AV-stream playback,whereas PLMark defines an event to occur during PL playback.

FIG. 43 is a diagram showing a placement example of interleave unit in acase where Clipmark and PL define TimeEvent and UserEvent. In thisdrawing, the AV stream is divided immediately ahead of time t1 at whichTimeEvent is to occur. At the dividing point, an interleave unit storingthe event handler Ex1 is recorded.

By being recorded in this way, the interleave unit storing the eventhandler Ex1 will be read onto a memory together with the segmentincluding time t1. Once an event handler is read to a memory, it becomespossible to load the event handler to the work area of the Java virtualmachine, according to a load instruction from an application program.Therefore, when the current playback time point reaches time t1, theevent handler Ex1 can be driven instantly.

Next, improvement performed on a playback apparatus of the presentembodiment is explained. So as to have aforementioned TimeEvent andUserEvent to occur, the playback control engine 12 has to be controlledto perform processing procedure shown in FIG. 44.

FIG. 44 is a diagram showing the processing procedure performed by theplayback control engine 12 according to the present embodiment. Thisflowchart is an improved version of the flowchart of FIG. 22.Accordingly, the same steps are either assigned the same referencesigns, or omitted from the drawing. What is new in this drawing isinsertion of two judgment steps into a series of processing.Specifically, Step S20 and Step S22 are inserted between step S5 andstep S6 of Step S2-Step S10 of FIG. 26. Step S20 is for judging whetherTimeEvent, whose generation time is the current playback time point, isdefined by PLMark or ClipMark. If Step S20 results in Yes, the TimeEventis generated (Step S21), and the control is moved to Step S6. An eventhandler, which has the TimeEvent as a driving requirement, has beenrecorded in the BD-ROM in the form of interleave unit, and is read tothe memory of the playback apparatus together with a correspondingsegment. Accordingly, the event handler having the TimeEvent as adriving requirement is instantly driven.

Step S22 is a step for judging whether an UO has occurred. If Step S22results in Yes, judgment is performed as to whether it is currently in aduration in which the UO is effective, by referring to PLMark andClipMark (Step S23). If the judgment results in the affirmative, theUserEvent is generated (Step S24), and the control returns to Step S6.An event handler, which has the UserEvent as a driving requirement, hasbeen recorded in the BD-ROM in the form of interleave unit, and is readto the memory of the playback apparatus together with a correspondingsegment. Accordingly, the event handler having the UserEvent as adriving requirement is instantly driven.

As described above, according to the present embodiment, an eventhandler is incorporated between segments in the form of interleave unit,specifically at a position where the event handler driving is planned onthe playback time axis of the AV stream. Therefore, when a loadinstruction for the event handler is issued from the applicationprogram, the event handler is ideally loaded to the work area of theJava virtual machine from the memory.

Please note that it is alternatively possible to have the playbackcontrol engine 12 to generate an event (pre-event) that occurs prior toPL playback, and an event (post-event) that occurs after PL playback, soas to store an event handler driven thereby to an interleave unit. Inthis case, it is desirable that the interleave unit store the time thatis specified by the first CELL information in the playlist informationand the time that is specified by the last CELL information in theplaylist information.

In the present embodiment, the explained event handler relates to anevent defined by Mark information. However, an event handler to beinterleave recorded can also be driven by an event generated by otherprograms. For example, an event handler to be interleave recorded can bedriven by an event generated by an apparatus. Examples of the eventgenerated by an apparatus include an event indicating open/closeperformed on a BD-ROM, and an event indicating the state of theapparatus (e.g. power failure).

Sixth Embodiment

In the first and second embodiments, information relating to live rangeof library and display data is directly described in the header of aninterleave unit. Whereas in the sixth embodiment, information relatingto live range of library and display data is described in the form ofindirect reference.

FIG. 45 is a diagram showing how indirect reference is performed toinformation relating to interleave unit.

In this drawing, the AV stream in the first level is recorded in aBD-ROM by being divided into two segments. Between these segments, aninterleave unit is recorded. The interleave unit includes a library anddisplay data. Up to here, the structure is the same as in the firstembodiment. However a locator, live-range IN-point information, andlive-range OUT-point information, in a header, are replaced by an ID. Onthe other hand, the static scenario, in the second and third levels,includes interleave-unit general information. This interleave-unitgeneral information describes live-range information for each ofinterleave units incorporated in the AV stream. In the interleave-unitgeneral information, live-range IN-point information, live-rangeOUT-point information, and size of interleave unit, are stored inassociation for each interleave unit. The indirect reference relating tothe live-range IN-point information and the live-range OUT-pointinformation is specifically as follows. An ID is described in a header,and the live-range IN-point information and the live-range OUT-pointinformation are made obtainable from the interleave-unit generalinformation using this ID. The described indirect reference does notdirectly describe an live-range IN-point information or an live-rangeOUT-point information to a header.

FIG. 46 is a diagram showing the relation between interleave-unitgeneral information and three interleave units incorporated in the AVstream. When the AV stream incorporates therein interleave unitsrespectively assigned ID=1, 2, 3 . . . , the ID=1, 2, 3 are described asthe interleave-unit general information, and for each ID, live-rangeIN-point information, live-range OUT-point information, and size aredescribed. The ID assigned to each interleave unit uniquely identifieswhether (1) to which AV stream the interleave unit itself belongs, and(2) the position of the interleave unit in the sequence of the AVstream.

By providing such interleave-unit general information in the staticscenario, the playback control engine 12 is able to perform centralmanagement of a plurality of interleave units incorporated in an AVstream. An example of the central management is for restricting thenumber of interleave units to be read to the memory 14, when more thanone interleave units have overlapping live ranges with each other.

The interleave-unit general information indicates size and ID, inassociation, for each interleave unit. Therefore, by accumulating thesize of each interleave unit, when a plurality of interleave units areattempted to be simultaneously stored, it is possible to calculate thetotal size of the interleave units existing on the memory 14. If thecalculated size becomes larger than the memory size of the memory 14, anarrangement is possible such that only a part of the interleave units isread onto the memory, without reading all the interleave units whoselive ranges are overlapping with each other. Such restriction in thenumber of reading avoids overwriting of interleave units, as well asavoiding interleave-unit destruction on the memory 14.

As described above, according to the present embodiment, the number ofinterleave units readable on the cache memory can be estimated prior toactually reading the interleave units. Therefore, capacity lack of thecache memory is avoided in case that there is overlapping of interleaveunits.

Since how many interleave units are to be read is adjustable accordingto the memory size of the apparatus, it is no more necessary to show thememory size guideline in numerical forms, such as in a form of “requiredsize for a cache memory”. Since it is no more necessary to show thememory size in numerical forms, discretion in memory size planning isenhanced, which contributes to widespread use of BD-ROM playbackapparatuses.

Please note that one piece of interleave-unit general information isprovided for each static scenario. However alternatively, it is possibleto incorporate it as one information element of the stream managementinformation. In this case, it becomes unnecessary to identify (1) towhich AV stream each interleave unit is incorporated. Since it is onlynecessary to identify the position of a particular interleave unit inthe sequence of the AV stream, the bit length of an ID is shortened.Still alternatively, the interleave-unit general information may beincorporated into one information element of PL information.

Seventh Embodiment

In the first and second embodiments, each live range is represented byIN-point and OUT-point of the live range on the playback time axis,which are indicated by live-range IN-point information and live-rangeOUT-point information. As opposed to this, the seventh embodimentproposes an indirect notation. The indirect notation proposed in theseventh embodiment is such that each live range is represented by numberfor CELL information, number for PL information, number for Markinformation, number for title, number for chapter, and number forSkipPoint. FIG. 47 is a diagram showing how the live range of eachinterleave unit in this embodiment is represented.

Here, “CELL information” is assumed to specify one playback section onan AV stream, just as shown in the first embodiment. If the number forCELL information is described in the header of an interleave unit aslive range information, “playback section” is able to be defined as“live range” of the interleave unit. In this drawing, if the number forCELL information in the header of an interleave unit indicates CELLinformation #1, then as shown by ckl, the playback section specified byCELL information#1 (i.e. section specified by ay1-ay2 in the drawing)will be the live range.

“PL information” indicates a playback path composed of one or moreplayback sections, as shown in the first embodiment. If number for PLinformation is described in the header of an interleave unit as liverange information, a playback path specified by the PL information isable to be defined as the live range of the interleave unit.

“Mark information (ClipMark, PLMark)” specifies a section to whichextended control should be performed, as the fifth embodiment describes.By describing number for Mark information in the header of an interleaveunit as live range information, a section specified by the Markinformation is able to be defined as the live range of the interleaveunit.

“Title” corresponds to a movie work comprised of at least a playbackpath and a dynamic scenario. By describing number for title in theheader of an interleave unit as live range information, a live range isalso able to be defined from a wide range such as from a movie work.

“Chapter” is a unit that a user recognizes as a chapter of a movie work,and is comprised of one or more pieces of CELL information. Bydescribing number for chapter in the header of an interleave unit aslive range information, the live range is able to be defined by achapter of a movie work, which is a self-explanatory unit for users.

“SkipPoint” indicates a position of a chapter, to which a user hasperformed marking. Such position is defined by Mark information. Bydescribing number for SkipPoint in the header of an interleave unit, aslive-range IN-point information and live-range OUT-point information,the live range is able to be defined by SkipPoint, which isself-explanatory to users.

Next, interleave recording performed for library and display data, in acase where such a live range exists, is explained. The presentembodiment is the same as the first embodiment in that a live rangeexists on an AV stream, even though the live range is represented by anumber for CELL information, PL information, Mark information, title,chapter, or SkipPoint. Therefore, a library or display data may berecorded immediately ahead of the position specified by CELLinformation, PL information—SkipPoint. If the AV stream is divided intoa plurality of segments with such a position stated above as a boundary,and that interleave units, each of which includes a library and displaydata, are recorded between adjacent segments, each interleave unit willbe read onto the memory 14 together with a corresponding segmentconstituting the AV stream, at the start of playback using CELLinformation, PL information—SkipPoint.

Here, a position specified by CELL information is a position on an AVstream that is specified by IN-point information of the CELLinformation. A position specified by PL information is a position on anAV stream that is specified by IN-point information of first CELLinformation within the PL information.

A position specified by a title is a position on an AV stream that isspecified by first CELL information within first PL information fromamong more than one set of PL information constituting the title.Finally, a position specified by Mark information is a position on an AVstream that is specified by time information of the Mark information. Aposition specified by chapter number and SkipPoint number isrespectively a position on an AV stream that is specified bycorresponding chapter or SkipPoint.

According to the improvement in the seventh embodiment described above,each live range is represented by number for CELL information, numberfor PL information, number for Mark information, number for title,number for chapter, and number for SkipPoint. Therefore, the playbackcontrol engine 12 of the playback apparatus of the present embodimentperforms the following processing.

When playback is instructed using PL information, CELL information, Markinformation, title, number for SkipPoint, the playback control engine 12of the present embodiment specifies an ACCESS UNIT corresponding to aposition specified by them, and refers to an ACCESS UNIT entry in theTMAP corresponding to the ACCESS UNIT. If any file name for interleaveunit exists in the ACCESS UNIT entry, the ACCESS UNIT having the filename is read successively with the ACCESS UNIT, from the BD-ROM.

Such successive reading is performed at six timings specified below.

The first timing comes when a user performs a selection operationdirected to a menu listing titles. If a title selection operation isperformed, the playback control engine 12 performs search to see whetherthe ACCESS UNIT at the position specified by this title has a precedinginterleave unit. If a preceding interleave unit is found, the interleaveunit is read together with the ACCESS UNIT, to the memory 14 from theBD-ROM. The interleave unit will be kept in the memory 14 until thetitle playback finishes. After the title playback finishes, the playbackcontrol engine 12 deletes the stored interleave unit from the memory 14.

The second timing comes when certain PL information is read to thestatic scenario memory 11 as current PL information. The playbackcontrol engine 12 performs search to see whether the ACCESS UNIT at theposition specified by the current PL information has a precedinginterleave unit. If a preceding interleave unit is found, the interleaveunit is read together with the ACCESS UNIT, to the memory 14 from theBD-ROM. The interleave unit will be kept in the memory 14 until theplayback according to the current PL information finishes. When thecurrent playback time point has reached the OUT-point of the last CELLinformation of the current PL information, the playback control engine12 deletes the interleave unit from the memory 14. The applicationprogram of Java mode, during the aforementioned PL information playback,is enabled to supply the libraries from the memory 14 to the work areaof the Java virtual machine, by issuing a load instruction.

The third timing comes when CELL information in current PL informationis specified as a playback target (i.e. CELLy in the flowchart of FIG.26). At this timing, the playback control engine 12 performs search tosee whether the ACCESS UNIT at the position specified by the CELLinformation has a preceding interleave unit. If a preceding interleaveunit is found, the interleave unit is read to the memory 14 from theBD-ROM. When the current playback time point has reached the OUT-pointof the CELL information, the playback control engine 12 deletes theinterleave unit from the memory 14. According to the above-describedprocessing, during the aforementioned CELL information playback, theapplication program of Java mode is enabled to supply the libraries fromthe memory 14 to the work area of the Java virtual machine, by issuing aload instruction.

The fourth timing comes when the current playback time point has reachedthe time indicated by the Mark information. The playback control engine12 performs search to see whether the ACCESS UNIT at the positionspecified by the Mark information has a preceding interleave unit. If apreceding interleave unit is found, the interleave unit is read to thememory 14 from the BD-ROM.

The fifth timing comes when a user performs an operation for selecting achapter from a chapter menu. If a chapter selection operation isperformed, the playback control engine 12 performs search to see whetherthe ACCESS UNIT at the position specified by the chapter has a precedinginterleave unit. If a preceding interleave unit is found, the interleaveunit is read to the memory 14 from the BD-ROM. Note that when thecurrent playback time point has reached the beginning of a chapter, asearch is also performed to see whether the chapter has a precedinginterleave unit. If a preceding interleave unit is found, the interleaveunit is read to the memory 14 from the BD-ROM.

The sixth timing comes when a user performs an operation for selectingSkipPoint. If a SkipPoint selection operation is performed, the searchcontrol engine 12 performs search to see whether the ACCESS UNIT at theposition specified by the SkipPoint has a preceding interleave unit. Ifa preceding interleave unit is found, the interleave unit is read to thememory 14 from the BD-ROM.

As described above, according to the present embodiment, numbers forCELL information and PL information are used to define live ranges.Therefore, it is easy to grasp overlapping between live ranges ofinterleave units, thereby facilitating planning of interleave-unitreading with a view toward pursuing resource management.

Note that so as to make the search by the playback control engine 12easier, live range information for interleave units are desirablymanaged integrally by the interleave-unit general information of thefirst embodiment. With this structure being realized, it is possible toperform search directed to every interleave unit only by referring tothe interleave-unit general information.

In addition, according to the present embodiment, PL information, CELLinformation, title, chapter, and SkipPoint are corresponded with aninterleave unit by means of number. However, any kind of identificationinformation may be used if it uniquely identifies PL information, CELLinformation, title, chapter, and SkipPoint. For example, identificationmay be performed by assigning identification information for interleaveunit as shown in the sixth embodiment, to PL information or to CELLinformation.

Eighth Embodiment

In the first and second embodiments, description of file path in alocator is used to identify each library and program in the memory 14.The eighth embodiment relates to improvement directed to an attempt toorganize library and display data on the memory 14 hierarchically, byutilizing such file path description in a header. FIG. 48 schematicallyillustrates a hierarchical organization of either a program or displaydata by locator description. The first level of this drawing representsan AV stream, and interleave units which are interleave-recorded in theAV stream. The second level represents the internal structure of eachinterleave unit and locator description in a corresponding header. Thethird level represents placement of a program and display data on thememory 14. In the second level, the locators of the interleave units arerespectively “CM://Java/Image”, “CM://Java/Game”, and“CM://Java/Character”. Accordingly, when referring to the header of eachinterleave unit, the playback control engine 12 generates a Javadirectory on the memory 14, creates files such as “Image”, “Game”, and“Character” in these directories, and places either a program or displaydata of the interleave units, into each of the files. In this drawing,the arrows “ty1”, “ty2”, and “ty3” schematically show the aforementionedplacement. Here, as can be understood by the live range information inthe second level, the live ranges of the interleave units arerespectively as follows: 1-6 for the interleave unit 1; 3-5 for theinterleave unit 2; and 0-10 for the interleave unit 3. The interleaveunits have overlapping live ranges with each other. According to theabove structure, the libraries or display data, which have overlappinglive ranges with each other, are respectively stored in files titled“Image”, “Game”, and “Character”, and are placed under one Javadirectory. Therefore only by accessing the Java directory, anapplication program of Java mode is able to load library or display datain each interleave units, to the work area of the Java virtual machine.

Ninth Embodiment

In each embodiment described so far, interleave recording is performedfor libraries or display data. As opposed to this, the ninth embodimentrelates to improvement so as to incorporate libraries or display datainto an AV stream, in the same format as data carousel. Data carousel isa broadcast method by which the same contents is repeatedly broadcastfor interactive broadcasting. A BD-ROM, although originally not forstoring broadcast data, is made to store libraries and display data byfollowing this data carousel storing format in this embodiment.

Here, transmission in data carousel method is explained. An object ofdata carousel is divided into a plurality of pieces, and each divisionbecomes a block called “DDB (Download Datablock)”, and is incorporatedinto an AV stream together with unique control information called “DII(DownloadinfoIndication)”. A DII is placed prior to a corresponding DDB,and has a description of a length of the DDB.

If each of library and display data is considered as an object of datacarousel method, then each of library and display data is divided into aplurality of DDBs, with a corresponding header assigned. Then each DDBis placed prior to a position corresponding to IN-point of acorresponding live range. At the timing when a playback apparatus hasread the ACCESS UNIT corresponding to the IN-point of the live range,the DDB including either a library or display data is read onto aplayback apparatus.

So far, the description relates to improvement directed to an AV stream.The following description relates to improvement of the ninth embodimentdirected to a playback apparatus. FIG. 49 is a diagram showing aninternal structure of a playback apparatus according to the ninthembodiment.

Since an AV stream includes library and data in data carousel format, aplayback apparatus according to the present embodiment does not includea switcher 15 for separating interleave units from the AV stream.Instead, libraries and data are supplied to a memory 14 from thedemultiplexer 3. In the playback apparatus of this drawing, thedemultiplexer 3 performs multiplexing to an AV stream, so as to obtain avideo stream, an audio stream, a sub-picture stream, and library anddata in data carousel format. Among them, the library and data in datacarousel format are stored in the memory 14, and so the library and datain data carousel format are read to the work area of the Java virtualmachine from the memory 14, in response to a load instruction from aJava mode application.

According to the present embodiment, the library and display data usableby an application program of Java mode are supplied to a playbackapparatus in the same format as in the data carousel. Therefore, theplayback apparatus may have a structure common to that of a receptionapparatus for digital broadcast. This realizes a playback apparatus thatalso functions as a reception apparatus for digital broadcast.

Tenth Embodiment

The tenth embodiment relates to improvement for omitting a switcher froma playback apparatus, while recording library and display data to aBD-ROM in interleave-recorded form. Since the switcher 15 is omitted, anapplication program according to the tenth embodiment reads interleaveunits in the following way.

In reading an interleave unit together with an ACCESS UNIT, theapplication program performs reading from the file “ILUsss.CLASS” andreading from the file “XXX.M2TS”, successively.

The reading from the file “ILUsss.CLASS” is performed as follows. First,the file “ILUsss.CLASS” is opened, and a file pointer is set to indicatethe beginning position of the opened file “ILUsss.CLASS”. Up to here,the procedure is the same as that of the first embodiment. In thisprocedure, the application program declares an area to which the file“ILUsss. CLASS” is to be read. Then, a READ command to which the totallength of the file “ILUsss.CLASS” is set is issued to the BD drive 1.Here, the area to which the file is to be read is the memory 14. As aresult of this command issue, the file “ILUsss.CLASS” will be read tothe memory 14 of the playback apparatus 200.

The reading from the file “XXX.M2TS” is performed as follows. First, thefile “XXX.M2TS” is opened, and a file pointer is set to indicate thebeginning position of the ACCESS UNITv in the opened file “XXX.M2TS”. Upto here, the procedure is the same as that of the first embodiment. Inthis procedure, the application program declares an area to which thefile “XXX.M2TS” is to be read. The area to which the file is to be readis the truck buffer 2. Then, a READ command to which the total length ofthe ACCESS UNITv is set is issued to the BD drive 1. As a result of thiscommand issue, the ACCESS UNITv will be read to the truck buffer 2 ofthe playback apparatus 200.

As described above, according to the present embodiment, when anapplication program reads a file, an area to which the file is read isswitched depending on the file (i.e. “ILUsss.CLASS” or “XXX.M2TS”).According to this structure, interleave unit reading and AV streamreading are performed without a switcher 15.

Eleventh Embodiment

The present embodiment relates to a manufacturing method of a BD-ROM.FIG. 50 is a flowchart showing a manufacturing method of the BD-ROMaccording to the eleventh embodiment.

The manufacturing method of a BD-ROM includes: material creation stepS101 for material creation, such as moving image photographing and soundrecording; authoring step S102 for generating an application format withuse of an authoring apparatus; and press step S103 for completing aBD-ROM by performing press/bonding.

Among these steps, the authoring step directed to a BD-ROM is comprisedof: scenario editing step S201; material encoding step S202;multiplexing step S203; and formatting step S204.

The scenario editing step S201 is a step for converting a scenariocreated in the planning stage, into a format that a playback apparatuscan understand. As a result of the scenario editing, a static scenariofor BD-ROM is generated. Also in this scenario editing, multiplexingparameters or the like are generated for multiplexing.

The material encoding step S202 is for encoding a video material, anaudio material, and a sub-picture material, respectively, so as toobtain a video stream, an audio stream, and a sub-picture stream.

The multiplexing step S203 is for interleave-multiplexing the videostream, the audio stream, and the sub-picture stream that have beenobtained from the material encoding, and converts the streams into oneAV stream.

In parallel with these steps, a program in Java language is executed(i.e. Steps S204, S205).

Java-application creation step S204 is for creating a Java applicationin Java language.

Library creation step S205 is for creating a library.

Formatting step S206 is for having the AV stream, the static scenario,the dynamic scenario, and the library, resulting from Steps S201-S205,to conform to the format of BD-ROM. In the conforming process, the AVstream is divided into a plurality of segments, and libraries arerecorded among the segments, as shown in the first embodiment.

In the present embodiment, a dynamic scenario corresponds to a Javaapplication in Step S204 and so is describable in Java language.Therefore the dynamic scenario can be developed in the same way as anordinary computer software program. Therefore, the present embodimenthas an effect of enhancing efficiency in scenario creation.

Twelfth Embodiment

The present embodiment relates to copying of an AV stream in a BD, to arecording-type recording medium such as BD-R and BD-RE. In copying, arecording apparatus downloads a dynamic scenario and a table from a Website. Such a table indicates assignment of library live ranges on an AVstream playback time axis as shown in FIG. 22A. Since the table haslive-range assignment, the AV stream is divided according to IN-pointsof live ranges, thereby recording libraries whose live ranges fallwithin segments, between the segments. Prior to recording, the librariesare converted to interleave units.

By doing so, a BD of a version in which libraries are not recorded canbe upgraded to be of a version in which libraries and dynamic scenarioare recorded.

(Other Notes)

So far, the present invention has been described based on theembodiments. However the stated embodiments are only system examplesthat can expect to obtain the best effect at the present state of art.Needless to say, the present invention can be modifiable within thescope of the present invention. Representative modification examples areshown below as (A), (B), (C). . . .

(A) In the second embodiment, only one piece of display data in aninterleave unit. However, each interleave unit in a BD-ROM may include aplurality of pieces of display data. FIG. 51 is a diagram showing aninterleave unit storing a plurality of pieces of display data. In thisdrawing, image data, document data, and drawing data are respectivelyone piece of display data. By recording such interleave units into aBD-ROM, one reading of interleave unit can store a plurality of displaydata to a memory. Note that in this case, the header is required to havedescription about respective files included in the interleave unit.

(B) In the layer model shown in FIG. 12, it is possible to, placebrowser mode or movie mode over the Java mode. In particular, ifinterpretation of a dynamic scenario and execution of control procedurebased on a dynamic scenario are performed in MOVIE mode, the burden fora playback apparatus is light. Therefore, no problem will occur ifexecuting MOVIE mode over the Java mode. In addition, if doing so,operation assurance is possible with one mode in development of aplayback apparatus and a movie work.

Alternatively, it is possible to provide only the Java mode so as toexecute processing according to the Java mode, without having all thethree modes. Playback control synchronized with PL playback is possibleonly with Java mode, and so provision of MOVIE mode is not compulsory.Furthermore, control on a dynamic scenario may be performed either onlywith MOVIE mode or only with browser mode.

(C) In all the embodiments, an optical disc was explained as a BD-ROM.However a characteristic of the present invention is interleave unitsrecorded in an optical disc, and this characteristic does not rely onthe physical nature of a BD-ROM. Accordingly, any optical disc can beused to realize the present invention. For example, it is possible touse optical discs such as DVD-ROM, DVD-RAM, DVD-RW, DVD-R, DVD+RW,DVD+R, CD-R, CD-RW, and optical magnetic discs such as PD and MO.

Dynamic scenario and playlist information may be recorded in a separaterecording medium from a recording medium storing an AV stream and streammanagement information. The mentioned sorts of data may be read inparallel so as to playback the data as one movie work.

(D) In all the embodiments, the playback apparatus outputs the AV streamof the BD-ROM to a television, after decoding the AV stream. However,the playback apparatus may be comprised of only a BD-ROM drive, and therest of the constituting elements may be provided for the television. Insuch a case, the playback apparatus and the television are able to beincorporated into a home network connected through an IEEE 1394connector. In addition, the playback apparatus in the describedembodiments is a type usable by being connected to a television.However, the playback apparatus may be integral-type with a display.Furthermore, in each of the embodiments, only the substance of theprocessing may be considered as a corresponding playback apparatus.Because all such playback apparatuses are described in the presentinvention's description, act of producing any of these playbackapparatuses based on the internal structure of the playback apparatus ofeach of the embodiments constitutes an act of practicing the presentinvention as described in the description. Any act of transfer whetherwith charge or not (sales if with charge, and gifts if not with charge),rent, and import relating to the playback apparatus of each embodimentalso constitute an embodiment of the present invention. In addition, anyact of offering these transfer and rent, through storefront display,catalogue solicitation, and pamphlet distribution, also constitutes anact of practicing the present playback apparatus.

(E) Information processing using the programs shown in FIGS. 26, 38, and44 shown in the flowcharts is actually realized using hardwareresources. Accordingly, the programs which describe the operationalprocedures shown in the flowcharts are themselves an invention. Theabove embodiments describe the cases where the programs are incorporatedin the playback apparatus, but the programs can be used independently ofthe playback apparatus. Acts of practicing the programs include (1) anact of manufacturing, (2) an act of transfer with or without charge, (3)an act of leasing, (4) an act of importing, (5) an act of providing tothe public via a bi-directional electronic communications network, and(6) an act of offering the public for transfer or lease using storefrontdisplays, catalogs, or brochures.

(F) If the time concept existing in each step, which is executedchronologically in the flowcharts in FIGS. 26, 38, and 44, is consideredan indispensable factor for specifying the present invention, then eachprocess in the flowchart is interpreted to disclose a use pattern of theplayback method. If the processes of the above-explained flowcharts areexecuted by chronologically executing each step therein, so as to beeffective for and instrumental in achieving the object of the presentinvention, this will correspond to the embodiment of the recordingmethod of the present invention.

(G) The application of Java mode in the embodiments is an applicationfor drawing computer graphics, but is not limited to such. Anyapplication may be used as long as it is described in Java language. Forexample, a client application in EC (electronic commerce) may be used.It becomes possible to realize Java mode application enabling productpresentation with use of moving images from a movie work, for example,which leads to a success in the character business relating to movieworks. Furthermore, the application of Java mode may be an online gamethat will be played on the Internet. Furthermore, characters rendered incomputer graphics in the Java mode application may perform processing asan agent. A character, being an agent, may provide help featuresrelating to a playback apparatus, or provide advice to users.

Information that a WebPage object obtains from a WEB site may be a WEBpage or image data, or it may further be an AV stream, stream managementinformation, and PL information. In addition, the WebPage object mayperform processing in liaison with a search engine.

Furthermore, description language in enhanced mode may alternatively beC++, C#, and the like.

(H) When recording an AV Clip on the BD-ROM, an extension header may beadded to each TS packet in the AV Clip. The extension header is called aTP_extra_header, includes an arrival_time_stamp and acopy_permission_indicator, and has a data length of 4 bytes. TS packetswith TP_extra_headers (hereafter “EX TS packets”) are grouped in unitsof 32 packets, and are written to three sectors. One set made up of 32EX TS packets has 6,144 bytes (=32×192), which is equivalent to a sizeof three sectors that is 6,144 bytes (=2,048×3). Each of the 32 EX TSpackets contained in the three sectors is called an Aligned Unit.

In a home network connected with an IEEE 1394 connector, the playbackapparatus 200 transmits an Aligned Unit in the following manner. Theplayback apparatus removes a TP_extra_header from each of the 32 EX TSpackets in the Aligned Unit, encrypts the body of each TS packetaccording to the DTCP Specification, and outputs the encrypted TSpackets. When outputting the TS packets, the playback apparatus insertsisochronous packets between adjacent TS packets. Each point where anisochronous packet is inserted is determined based on a time shown by anarrival_time_stamp of a TP_extra_header. The playback apparatus 200outputs a DTCP_descriptor, as well as a TS packet. The DTCP_descriptorcorresponds to a copy_permission_indicator in the TP_extra_header. Withthe provision of the DTCP_descriptor indicating “copy prohibited”, it ispossible to prevent, when using the TS packet in the home networkconnected with the IEEE 1394 connector, the TS packet from beingrecorded to other devices.

(I) In the twelfth embodiment, it is possible to admit copy of an AVstream with restriction by embedding copy generation information (CGI).The copy generation information is classified into: “copy free”indicating copy is possible freely; “one generation copy” indicatingthat recording of one generation copy is admitted; “no more copy”indicating that further copy of a copy is prohibited; and “never copy”indicating prohibition of any copy. In other words, only when the copygeneration information is either “copy free” or “one generation copy”, abackup is performed from an HD to a DVD. If the copy generationinformation is either “no more copy” or “never copy”, no backup isperformed.

(J) When an AV stream is assigned right management information in thetwelfth embodiment, a copy of the AV stream may be performed inaccordance with a use condition prescribed under the right managementinformation.

If the right management information prescribes copy permit condition bythe number of copy, then the number of copy should be observed. If aneffective duration is prescribed (year/month/day), then the effectiveduration should be observed.

(K) When copy processing includes move, migrate, and checkout, or othervariations, it is possible to define a backup condition for eachvariation. The move is copy processing by which deletion of originalcontents is to be performed. The move is used when contents is movedbetween a plurality of recording media.

The migrate is copy processing that assumes generation of use conditioninformation on a recording medium to which the copy is to be created.

The checkout is a kind of copy with a restriction in the number ofcopies. Each copy is performed by decrementing one from the number ofpermitted copies. The difference between the checkout and the copy withnumber restrictions is that the checkout can also perform incrementing.Incrementing of the number of copies is performed after processing toprohibit any playback of copied contents on a recording medium (“theprocessing is called “checkin”).

(L) The AV stream in each embodiment may also be a VOB (video object) inDVD-Video standard or in DVD-Video Recording standard. A VOB is aprogram stream complying with ISO/IEC13818-1 standard, which is obtainedby multiplexing a video stream and an audio stream. In addition, the AVstream in each embodiment may be called “AVClip”. In such a case, thestream management information may be called “Clip information”. Inaddition, a video stream in an AV stream may be in MPEG4 method or inWMV method. Furthermore, an audio stream may be in Linear-PCM method,Dolby-AC3 method, MP3 method, or in MPEG-AAC method.

(M) Cell information in each embodiment specifies start/ending points ofa playback section with use of time information. However, a logicaladdress in a BD-ROM may be used to specify start/ending points of aplayback section. A CELL in each embodiment may be called “PlayItem”.

(N) TMAP in stream management information may be called “EP_map”. Inthis case, a playback start time of an ACCESS UNIT is desirablyexpressed by a time stamp (presentation time stamp) of the first picturedata of the ACCESS UNIT. In addition, an address of each ACCESS UNIT isdesirably expressed by a serial number (SPN(serial packet number)) of aPES packet.

(O) In the above explanation about the structure of a playbackapparatus, the dynamic scenario memory 21 only stores a current dynamicscenario, and the static scenario memory 11 only stores current streammanagement information and current PL information. However a pluralityof scenarios, pieces of stream management information, and pieces of PLinformation may be stored in the dynamic scenario memory 21 and in thestatic scenario memory 11 respectively in advance. By doing so, it ispossible to shorten the time lag incident to reading of these pieces ofdata from a BD-ROM.

(P) So as to sequentially play back two or more CELLs constituting a PL,it is desired that these CELLs are modified for seamless connection inadvance.

Modification required for such seamless connection is to create a copyof an ending portion of a preceding playback section and a copy of astarting portion of a succeeding playback section, and then to re-encodethus obtained copies. Note that the copies created for seamlessconnection may be called “Bridge-Clip”.

Here, the ending portion and the starting portion may be set in thefollowing way.

First, an ending portion is defined as up to the two ACCESS UNITs fromthe ACCESS UNIT including the Out-point of a preceding playback sectionwithin VOB#x. A starting portion is defined as the ACCESS UNIT includingthe In-point of a succeeding playback section within VOB #x+1. Thereason why the ending/starting portions are defined in the above way isdetailed in the prior art reference U.S. Pat. No. 6,148,140 of the sameapplicant. Therefore please refer to the publication document fordetails.

Furthermore, each copy created for seamless connection is desirablyprovided with seamless connection information. The seamless connectioninformation includes a playback start time of the first video frame, aplayback ending time of the last video frame, a start time of an audiogap, a time length of the audio gap, and position information of theaudio gap. If such seamless connection information is defined, it ispossible to calculate a difference (STC-Offset) between the time stampsof two sections, using playback start times of first video frames andplayback ending times of last video frames, thereby setting theSTC-Offset to a playback apparatus. Moreover, it becomes possible toprevent audio interruption incident to transition from one section toanother, by referring to these pieces of audio gap information tocontrol the audio decoder.

(Q) A movie work in each embodiment may be any kind of copyright workrepresented by images, such as a television movie and a game softwareprogram. The reason for this is that a movie work in each embodiment hasan existing format required of a copyrighted movie, where therequirements are such that (i) being presented on a cathode-ray tube oron a liquid-crystal screen, or the like, using a method by which avisual effect or an audiovisual effect is generated, (ii) existing bymaintaining identity by having connection to a BD-ROM (a substance) in acertain method, and (iii) being placed in a state ready to be playedback.

However, the essence of the present invention is not limited to such amovie work. The video data of the present invention may alternatively bean image in a monitor camera, or an image photographed by a home videocamera.

(R) In the second embodiment, the drawing data may be computer graphicsdata. Such data includes data in NURBS (non uniform rational B-spline)format, and polygon format. NURBS is a bundle of Bezier curves (thebundle being called “B-Spline”), where curvatures of the Bezier curvesare not uniform.

Polygon format is defined to express a particular cubic form by polygonapproximation, which includes a representative example of data exchangeformat (DXF) by AutoCAD Co. (a U.S. company). Other examples are HRC,WAVEFRONT, IV, and VRML formats.

In addition, it is also possible to use image data shown in the secondembodiment as texture mapping. Texture mapping is processing fordisplaying a texture pattern such as still image and bit map, onto threedimensional plane and curved plane. So as to render computer graphics,it is possible to interleave record programs such as OPEN-GL or Java3D.

(S) In each embodiment, a selection operation from a user for a moviework is received via a remote controller. However, the selectionoperation may alternatively be received via a front panel of a playbackapparatus. Still alternatively, the selection operation may be receivedvia an input apparatus such as a keyboard, a touch panel, a mouse or apad, and a track ball. In these cases, the selection operation may bereceived by means of a click operation or a drag operation.

(T) A movie work in each embodiment may be obtained by encoding analogueimage signals broadcasted through an analogue broadcast. The movie workmay alternatively be stream data made up of a transport streambroadcasted through a digital broadcast.

In addition, the movie work may be a content obtained by encodinganalogue/digital image signals recorded in video tape. Alternatively,the movie work may be a content obtained by encoding analogue/digitalimage signals directly taken in from a video camera. Stillalternatively, the movie work may be a digital work distributed from adistribution server.

(U) The Java module 17 may be a Java platform incorporated in anapparatus for the purpose of receiving a satellite broadcast. If theJava module 17 is such a Java platform, the playback apparatus of thepresent invention can further function as STB for MHP.

Alternatively, the Java module 17 may be a Java platform incorporatedinto an apparatus for the purpose of controlling processing relating toa portable telephone. If the Java module 17 is such a Java platform, theplayback apparatus of the present invention can further function as aportable telephone.

In addition, the browser module 18 may be browser software incorporatedinto a personal computer, such as Internet Explorer by MicroSoftCorporation.

INDUSTRIAL APPLICABILITY

An optical disc according to the present invention will make anoperation environment for game software close to an operationenvironment for movie playback, and so helps distribute more attractivemovie works to the market, which invigorates the movie market and theconsumer goods market. Accordingly, the recording medium and theplayback apparatus according to the present invention are highlyapplicable in the movie industry and the consumer goods industry.

1. An optical disc having recorded therein a digital stream divided inton segments, wherein an interleave unit is recorded in front of an ithsegment to be played back in an ith place, where each of i and n is aninteger that satisfies i<n, and the interleave unit includes one of (a)a program to be synchronized with playback of the ith segment and (b)data to be displayed synchronously with playback of the ith segment. 2.The optical disc of claim 1, wherein the interleave unit includes endingtime information that indicates at which point on a playback time axisof the digital stream the program or the data should be deleted from amemory.
 3. The optical disc of claim 1, wherein the interleave unitincludes start time information that indicates at which point on aplayback time axis of the digital stream the program or the data becomesusable.
 4. The optical disc of claim 1, wherein a copy of the interleaveunit is recorded between the ith segment and an i+1th segment.
 5. Theoptical disc of claim 4, wherein a boundary between the ith segment andthe i+1th segment falls in a middle of a live range of the program orthe data.
 6. The optical disc of claim 4, wherein a boundary between theith segment and the i+1th segment falls after a live range of theprogram or the data.
 7. The optical disc of claim 1, wherein the ithsegment is made of a plurality of access units, each access unitcontaining video data having an intra picture, and the optical disc hasrecorded therein map information that shows the interleave unit inassociation with one of an address and a playback time of each of theaccess units belonging to the ith segment.
 8. The optical disc of claim1, wherein i≧2, and a boundary between the ith segment and an i−1thsegment corresponds to a start point of a live range of the program orthe data on a playback time axis of the digital stream.
 9. The opticaldisc of claim 8, wherein the live range is a section on the playbacktime axis, during which the program or the data becomes usable.
 10. Theoptical disc of claim 1, wherein the program is an event handler that isdriven by an event, and an interleave unit including the event handleris recorded in front of a time at which the event occurs on a playbacktime axis of the digital stream.
 11. The optical disc of claim 10,wherein the event is one of (a) an event indicating that a currentplayback time point has reached a predetermined time on a playback timeaxis, (b) an event indicating that a user operation is made during apredetermined time duration of the playback time axis, (c) an eventoccurring prior to playback according to a playback path, (d) an eventoccurring after playback according to a playback path, (e) an eventgenerated by the playback apparatus, and (f) an event generated byanother program.
 12. The optical disc of claim 1, further havingrecorded therein interleave-unit general information that showsidentifiers of a plurality of interleave units recorded in the opticaldisc, in association with a size and a live range of a correspondingprogram or data.
 13. The optical disc of claim 1, further havingrecorded therein playlist information and a dynamic scenario, whereinthe playlist information defines a playback path by disposing pieces ofinformation indicating playback sections of video data according to aplayback order, the dynamic scenario defines a video title by showing aplayback procedure of at least one playback path, and the interleaveunit contains an identifier that shows, as a live range of the programor the data, one of a playback path, a playback section, an entire videotitle, and a chapter of the video title.
 14. The optical disc of claim1, wherein the interleave unit contains a locator that contains driveinformation and path information, the drive information indicating adrive to which the program or the data is to be read, and the pathinformation indicating in which layer of a layer structure of the drivethe program or the data exists.
 15. A playback apparatus for an opticaldisc having recorded therein a digital stream, the playback apparatuscomprising: a reading unit operable to read, from the optical disc, anith segment to be played back in an ith place from among n segmentsconstituting the digital stream, together with an interleave unitpreceding the ith segment, where each of i and n is an integer thatsatisfies i<n; a playback unit operable to play back the read ithsegment; and a processing unit operable to perform synchronousprocessing using a program or data included in the read interleave_unit,in synchronization with playback of the ith segment.
 16. The playbackapparatus of claim 15, comprising: a memory operable to store the readinterleave unit; and a track buffer operable to store the read ithsegment, wherein the playback unit receives supply of the ith segmentvia the track buffer, and the processing unit receives supply of theinterleave unit via the memory.
 17. The playback apparatus of claim 16,further comprising a switcher, wherein the read unit, upon reading asector of the optical disc, makes a notification of an address of thesector, the switcher (a) writes information read from the sector to thememory when judging that the notified address from the read unit fallswithin an area for storing interleave units, and (b) sequentially writesinformation read from the sector to the track buffer when judging thatthe notified address from the read unit falls within an area for storingsegments, each interleave unit on the memory is made of information thatthe switcher has written to the memory, and each segment on the trackbuffer is made of information that the switcher has written to the trackbuffer.
 18. The playback apparatus of claim 17, wherein in the opticaldisc, each interleave unit is stored in a file separately from thedigital stream, the optical disc has recorded therein file managementinformation that indicates each file identifier in association with anaddress in the optical disc of one of the digital stream and aninterleave unit, and judgment as to whether a current read position iswithin the area for storing interleave units or within the area forstoring segments is performed by referring to the file managementinformation.
 19. The playback apparatus of claim 16, wherein in theoptical disc, each interleave unit is stored in a file separately fromthe digital stream, the optical disc has recorded therein filemanagement information that indicates each file identifier inassociation with an address in the optical disc of one of the digitalstream and an interleave unit, and the read unit, before performing thereading, opens each file for specifying the memory as a readingdestination for a file storing an interleave unit, and specifying thetrack buffer as a reading destination for a file storing the digitalstream.
 20. The playback apparatus of claim 16, wherein the interleaveunit contains ending time information, and the processing unit deletesthe interleave unit from the memory when a current playback time pointof the playback unit has reached an ending time that the ending timeinformation indicates.
 21. The playback apparatus of claim 16 furthercomprising a virtual machine subunit, wherein the processing unit, uponrequest by an application program, supplies the program or the data inthe interleave unit on the memory to a work area of the virtual machinesubunit, and has the virtual machine subunit to execute the program orthe data.
 22. The playback apparatus of claim 21, wherein the interleaveunit contains start time information, and the processing unit suppliesthe program to the work area of the virtual machine subunit upon requestby the application program when the current playback time point of theplayback unit has reached a start time that the start time informationindicates, and the current playback time point of the playback unit hasnot reached the start time, the processing unit does not supply theprogram to the work area of the virtual machine subunit, even uponrequest by the application program.
 23. The playback apparatus of claim15, wherein a boundary between the ith segment and an i+1th segmentfalls in a middle of a live range of the program or the data, a copy ofthe interleave unit is recorded between the ith segment and the i+1thsegment, and the read unit reads the copy from the optical disc when arandom access is performed to the ith segment.
 24. The playbackapparatus of claim 15, wherein a boundary between the ith segment and ani+1th segment falls after a live range of the program or the data, acopy of the interleave unit is recorded between the ith segment and thei+1th segment, the read unit reads the ith segment when the playbackunit performs normal playback, and the playback unit, when performingreverse playback, reads the i+1th segment among the n segments, togetherwith the copy of the interleave unit preceding the i+1th segment. 25.The playback apparatus of claim 15, wherein the ith segment is made of aplurality of access units, each access unit containing video data havingan intra picture, the optical disc has recorded therein map informationthat shows the interleave unit in association with one of an address anda playback time of each of the access units belonging to the ithsegment, and the read unit performs reading of the interleave unit, byreferring to the map information.
 26. The playback apparatus of claim15, wherein the processing unit includes a virtual machine subunit, theplayback unit plays back the digital stream and generates an eventsynchronized with the playback, and the virtual machine subunit, whenthe playback unit has generated the event, executes the program in theinterleave unit.
 27. The playback apparatus of claim 26, wherein theevent is one of (a) an event indicating that a current playback timepoint has reached a predetermined time on a playback time axis of videodata, (b) an event generated by the playback apparatus, and (c) an eventgenerated by another program.
 28. The playback apparatus of claim 27,wherein the optical disc has recorded therein mark information thatdefines a predetermined time point and a predetermined time interval onthe playback time axis, and the playback unit generates the eventaccording to the mark information.
 29. The playback apparatus of claim27, comprising a reception unit operable to receive a user operation,wherein the event is an event that indicates that the reception unit hasreceived a user operation in a predetermined time duration of theplayback time axis of the video data.
 30. The playback apparatus ofclaim 15, wherein the optical disc has recorded therein interleave-unitgeneral information being management information for a plurality ofinterleave units recorded on the optical disc, the playback apparatusincludes a memory and a playback control unit that is operable to judge,according to the interleave-unit general information, whether theinterleave units are storable in the memory, and the read unit readspart or all of the interleave units when the playback control unit hasjudged affirmatively.
 31. The playback apparatus of claim 15, whereinthe optical disc has recorded therein playlist information that definesa playback path by disposing pieces of information indicating playbacksections of the digital stream according to a playback order, and theplayback control unit controls the read unit and the playback unit so asto play back the digital stream according to the playlist information.32. The playback apparatus of claim 31, wherein each interleave unitcontains an identifier, and the playback control unit, in playing backthe digital stream according to the playlist information, controls theread unit to read, from the optical disc, one of (a) an interleave unitcontaining an identifier of the playlist information and (b) aninterleave unit containing an identifier of information that indicates aplayback section of the playlist information.
 33. The playback apparatusof claim 31, wherein the optical disc has recorded therein a dynamicscenario, the dynamic scenario defining a title by showing a playbackprocedure of at least one playback path shown by playlist information,the playback control unit controls the read unit to read, from theoptical disc, one of (a) an interleave unit containing an identifier ofthe title corresponding to the dynamic scenario and (b) an interleaveunit containing an identifier of a chapter included in the titlecorresponding to the dynamic scenario.
 34. The playback apparatus ofclaim 15, wherein each interleave unit contains a locator that containsdrive information and path information, the drive information indicatinga drive to which the program or the data is to be read, the pathinformation indicating in which layer of a layer structure of the drivethe program or the data is to be disposed, and the playback apparatusdisposes the program or the data in the layer indicated by the pathinformation.
 35. A playback program for an optical disc having recordedtherein a digital stream, the playback program comprising: a readingstep of reading an a ith segment to be played back in an ith place, fromamong a plurality of segments constituting the digital stream; aplayback step of playing back the read ith segment; and a processingstep of performing synchronous processing using a program or dataincluded in the read interleave unit, in synchronization with playbackof the ith segment.
 36. A playback method for an optical disc havingrecorded therein a digital stream, the playback method comprising: areading step of reading an a ith segment to be played back in an ithplace, from among a plurality of segments constituting the digitalstream; a playback step of playing back the read ith segment; and aprocessing step of performing synchronous processing using a program ordata included in the read interleave unit, in synchronization withplayback of the ith segment.
 37. A recording method for an optical disc,the recording method comprising: a step of creating application data;and a step of recording the created application data to the opticaldisc, wherein the application data contains a digital stream dividedinto n segments and an interleave unit, the interleave unit is recordedin front of an ith segment to be played back in an ith place, where eachof i and n is an integer that satisfies i<n, and the interleave unitincludes one of (a) a program to be synchronized with playback of theith segment and (b) data to be displayed synchronously with playback ofthe ith segment.